пользователю предоставляется TreeView, и у каждого узла есть флажок. проверенные узлы помещаются в список toBeDeleted, а затем запускается эта серия методов
Код: Выделить всё
on click of the delete buttonКод: Выделить всё
private void button1_Click(object sender, EventArgs e)
{
foreach(TreeNode node in toBeDeleted)
{
if(node.Tag != null)
{
if(node.Tag is Series selectedSeries)
{
FileManager.DeleteSeries(selectedSeries);
}
}
}
FileManager.fullSeriesList = FileManager.LoadFromFile(FileManager.seriesFile);
_treeViewManager.UpdateTreeView(_seriesTree);
_treeViewManager.UpdateTreeView(DeleteSeriesTree);
}
Код: Выделить всё
delete methodКод: Выделить всё
public static void DeleteSeries(Series series)
{
List newList = fullSeriesList
.Where(i =>
i.ID != series.ID
&& i.SeriesName != series.SeriesName)
.ToList();
foreach(Series s in newList)
{
Debug.WriteLine(s.SeriesName);
}
SaveFullList(newList, seriesFile);
}
Код: Выделить всё
method that saves it to the data fileКод: Выделить всё
public static void SaveFullList(List fullSeriesList, string filePath)
{
string jsonString = JsonSerializer.Serialize(fullSeriesList, new JsonSerializerOptions { WriteIndented = true });
File.WriteAllText(filePath, jsonString);
fullSeriesList = LoadFromFile(seriesFile);
}
Код: Выделить всё
UpdateTreeViewпроблема в том, что если у меня есть такой список шоу
Код: Выделить всё
public Series(long id, string seriesName)
{
Id = id;
SeriesName = seriesName;
}
public List FullSeriesList = new List
{
new Series(1, "Breaking Bad"),
new Series(2, "Game of Thrones"),
new Series(3, "Stranger Things"),
new Series(4, "The Office")
};
Я попытался сопоставить его с идентификатором и SereisName на случай, если двум элементам мог быть присвоен одинаковый идентификатор, но это ничего не изменило. в коде нет другого места, где элементы списка изменяются, кроме места, где он изначально загружается из файла JSON и расставляется по алфавиту сразу после заполнения списка
Подробнее здесь: https://stackoverflow.com/questions/791 ... list-c-sha
Мобильная версия