feat: 파일 목록 순차적 표시

prototype
HyungJune Kim 10 months ago
parent 55e22ddcc3
commit 89f9383e7a

@ -8,7 +8,8 @@ namespace SmartAquaViewer.Model
{ {
public class FileModel public class FileModel
{ {
public string Name { get; set; } public string? Name { get; set; }
public string Content { get; set; } public DateTime RecordedDate { get; set; }
public string? Content { get; set; }
} }
} }

@ -55,20 +55,22 @@ namespace SmartAquaViewer.ViewModel
if (openFileDialog.ShowDialog() == true) if (openFileDialog.ShowDialog() == true)
{ {
FileList.Clear();
foreach (var filePath in openFileDialog.FileNames) foreach (var filePath in openFileDialog.FileNames)
{ {
var fileName = System.IO.Path.GetFileName(filePath); var fileName = Path.GetFileName(filePath).Replace(".json", "");
var year = int.Parse(fileName.Split("-")[0]);
var month = int.Parse(fileName.Split("-")[1]);
var day = int.Parse(fileName.Split("-")[2]);
var date = new DateTime(year, month, day);
var fileModel = new FileModel { Name = fileName }; var fileModel = new FileModel { Name = fileName, RecordedDate = date };
var fileContent = File.ReadAllText(filePath); var fileContent = File.ReadAllText(filePath);
fileModel.Content = fileContent; fileModel.Content = fileContent;
if (!FileList.Any(f => f.Name == fileModel.Name)) if (FileList.Any(f => f.Name == fileModel.Name)) continue;
{
FileList.Add(fileModel); FileList.Add(fileModel);
} OrderFileListByDate();
} }
} }
} }
@ -92,6 +94,16 @@ namespace SmartAquaViewer.ViewModel
} }
} }
private void OrderFileListByDate()
{
var orderedList = FileList.OrderBy(f => f.RecordedDate).ToList();
FileList.Clear();
foreach (var file in orderedList)
{
FileList.Add(file);
}
}
public event PropertyChangedEventHandler? PropertyChanged; public event PropertyChangedEventHandler? PropertyChanged;
private void OnPropertyChanged([CallerMemberName] string? name = null) private void OnPropertyChanged([CallerMemberName] string? name = null)
=> PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name)); => PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));

Loading…
Cancel
Save