Ejemplo n.º 1
0
        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;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        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);
        }