// Установка отоброжаемых записей public static void SetDisplayedRecords(string componentName, List <string> recordsId) { if (AllDisplayedRecords == null) { AllDisplayedRecords = new Dictionary <string, List <string> >(); } if (DisplayedRecords == null) { DisplayedRecords = new Dictionary <string, List <string> >(); } List <string> records = recordsId?.Where(val => val != null)?.ToList(); if (!DisplayedRecords.ContainsKey(componentName)) { DisplayedRecords.Add(componentName, records); } else { DisplayedRecords[componentName] = records; } if (!AllDisplayedRecords.ContainsKey(componentName)) { AllDisplayedRecords.Add(componentName, records); } else { AllDisplayedRecords[componentName] = records; } }
// Получение отоброжаемых записей public static List <string> GetDisplayedRecords(string componentName) { if (DisplayedRecords == null) { return(new List <string>()); } else { return(DisplayedRecords .GetValueOrDefault(componentName) ?.Where(val => val != null)?.ToList()); } }
// Очистка информации о старых отображаемых записях public static void ClearOldRecords(List <BusinessComponent> busComps) { List <string> recordsToRemove = new List <string>(); // Названия новых отображаемых бизнес компонент List <string> busCompsNames = busComps.Select(n => n.Name).ToList(); // Получение старых бизнес компонент, подлежащих удалению DisplayedRecords?.Keys.ToList().ForEach(bc => { if (busCompsNames.IndexOf(bc) == -1) { recordsToRemove.Add(bc); } }); foreach (string name in recordsToRemove) { DisplayedRecords.Remove(name); } }