private void RemoveFilterEntry(FilterDetailItemViewModel selectedViewModel) { if (selectedViewModel == null) { return; } // Ein neu angelegtes, noch nicht in der DB gespeichertes Objekt muss nicht gelöscht werden if (!selectedViewModel.FilterEntry.IsNew) { selectedViewModel.FilterEntry.IsDeleted = true; } selectedViewModel.FilterEntry.IsNew = selectedViewModel.FilterEntry.IsModified = false; var grouping = FilterEntries.Where(g => g.Key == selectedViewModel.FilterEntry.FilterEntryType.Name).FirstOrDefault(); if (grouping != null) { // Den Filter auf Modified setzen, da sonst nicht gespeichert wird if (grouping.Remove(CreateFilterDetailItemViewModel(selectedViewModel.FilterEntry))) { Filter.IsModified = true; } } }
private void RemoveFilterEntries() { foreach (var groupedItems in FilterEntries.Select(g => g.Items)) { var selectedEntries = groupedItems.Where(m => m.IsSelected == true).ToList(); for (int i = selectedEntries.Count - 1; i >= 0; i--) { RemoveFilterEntry(selectedEntries[i]); } } }
private void GenerateFilterEntries(List <IFilterLine> lineList) { FilterEntries.Clear(); FilterEntry lastDataEntry = new FilterEntry(); FilterEntry lastCommentEntry = new FilterEntry(); FilterConstants.FilterEntryType entryType = FilterConstants.FilterEntryType.Unknown; foreach (var line in lineList) { if (!string.IsNullOrEmpty(line.Ident)) { entryType = FilterConstants.FilterEntryType.Content; if (line.Ident == "Show" || line.Ident == "Hide") { lastDataEntry = FilterEntry.CreateDataEntry(line); FilterEntries.Add(lastDataEntry); } else { lastDataEntry.Content.Add(line); } } else if (line.Comment != string.Empty) { if (entryType != FilterConstants.FilterEntryType.Comment) { lastCommentEntry = FilterEntry.CreateCommentEntry(line); entryType = FilterConstants.FilterEntryType.Comment; FilterEntries.Add(lastCommentEntry); } else { lastCommentEntry.Content.AddComment(line); } entryType = FilterConstants.FilterEntryType.Comment; } else if (line.Comment == string.Empty) { if (entryType == FilterConstants.FilterEntryType.Filler) { continue; } else { FilterEntries.Add(FilterEntry.CreateFillerEntry()); entryType = FilterConstants.FilterEntryType.Filler; } } } }
private void LoadFilterEntries() { FilterEntries.Clear(); IEnumerable <FilterDetailItemViewModel> filterEntries = new List <FilterDetailItemViewModel>(Filter.FilterEntries.Select(f => CreateFilterDetailItemViewModel(f))); var sorted = from filterEntry in filterEntries orderby filterEntry.FilterEntry.FilterEntryType.Name group filterEntry by filterEntry.FilterEntry.FilterEntryType.Name into entryGroup select new Grouping <string, FilterDetailItemViewModel>(entryGroup.Key, entryGroup); _filterEntries.ReplaceRange(sorted); }