feat: 파일 목록 순차적 표시

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

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

@ -55,20 +55,22 @@ namespace SmartAquaViewer.ViewModel
if (openFileDialog.ShowDialog() == true)
{
FileList.Clear();
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);
fileModel.Content = fileContent;
if (!FileList.Any(f => f.Name == fileModel.Name))
{
FileList.Add(fileModel);
}
if (FileList.Any(f => f.Name == fileModel.Name)) continue;
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;
private void OnPropertyChanged([CallerMemberName] string? name = null)
=> PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));

Loading…
Cancel
Save