private void Add(TemplateItemType type) { switch (type) { case TemplateItemType.MonthName: Items.Add(new MonthNameTemplateItem(++lastId)); break; case TemplateItemType.PersonList: Items.Add(new PersonListTemplateItem(++lastId)); break; case TemplateItemType.PersonName: Items.Add(new PersonNameTemplateItem(++lastId)); break; case TemplateItemType.TextBlock: Items.Add(new TextBlockTemplateItem(++lastId)); break; case TemplateItemType.ImageBlock: Items.Add(new ImageBlockTemplateItem(++lastId)); break; default: throw new NotImplementedException(type.ToString()); } }
} //AddItem public TemplateItem AddTemplateItem(string name, string text, TemplateControlType controlType, TemplateItemType itemType, object content, string parentId) { TemplateItem item = new TemplateItem(name, text, controlType, itemType, content, parentId); Add(item); return(item); } //AddItem
private bool CanAddItem(TemplateItemType type) { switch (type) { case TemplateItemType.PersonList: return(IsPersonList); case TemplateItemType.PersonName: return(!IsPersonList); default: return(true); } }
} //TemplateItem public TemplateItem(string name, string text, TemplateControlType controlType, TemplateItemType itemType, object content, string parentId) { Id = Guid.NewGuid().ToString("N").ToUpperInvariant(); IsChanged = false; Name = name; Text = text; ParentId = parentId; ControlType = controlType; ItemType = itemType; Content = content; IsEmpty = false; } //TemplateItem
public TemplateItem(List<string> input) { var dic = zut.zusp.ListToDictionary(input, GeneratorTemplate.FILE_ATTRIBUTE_SEPARATOR); ItemType = (TemplateItemType)Enum.Parse(typeof(TemplateItemType), dic[FILEKEY_ITEM_TYPE]); PartOfSpeech = EmptyIfNoKey(dic, FILEKEY_PART_OF_SPEECH); CFGPhraseType = EmptyIfNoKey(dic,FILEKEY_CFG_PHRASE_TYPE); CFGPhraseLength = EmptyIfNoKey(dic,FILEKEY_CFG_PHRASE_LENGTH); CheckStartsWith = dic[FILEKEY_CHECK_STARTS_WITH].Equals(FILE_BOOLEAN_TRUE); CheckEndsWith = dic[FILEKEY_CHECK_ENDS_WITH].Equals(FILE_BOOLEAN_TRUE); CheckREGEX = dic[FILEKEY_CHECK_REGEX].Equals(FILE_BOOLEAN_TRUE); ExactTextString = EmptyIfNoKey(dic,FILEKEY_EXACT_TEXT_STRING); StartsWithString = EmptyIfNoKey(dic,FILEKEY_STARTS_WITH_STRING); EndsWithString = EmptyIfNoKey(dic,FILEKEY_ENDS_WITH_STRING); REGEXString = EmptyIfNoKey(dic,FILEKEY_REGEX_STRING); UpdateSERMatcher(); }
public TemplateItem(List <string> input) { var dic = zut.zusp.ListToDictionary(input, GeneratorTemplate.FILE_ATTRIBUTE_SEPARATOR); ItemType = (TemplateItemType)Enum.Parse(typeof(TemplateItemType), dic[FILEKEY_ITEM_TYPE]); PartOfSpeech = EmptyIfNoKey(dic, FILEKEY_PART_OF_SPEECH); CFGPhraseType = EmptyIfNoKey(dic, FILEKEY_CFG_PHRASE_TYPE); CFGPhraseLength = EmptyIfNoKey(dic, FILEKEY_CFG_PHRASE_LENGTH); CheckStartsWith = dic[FILEKEY_CHECK_STARTS_WITH].Equals(FILE_BOOLEAN_TRUE); CheckEndsWith = dic[FILEKEY_CHECK_ENDS_WITH].Equals(FILE_BOOLEAN_TRUE); CheckREGEX = dic[FILEKEY_CHECK_REGEX].Equals(FILE_BOOLEAN_TRUE); ExactTextString = EmptyIfNoKey(dic, FILEKEY_EXACT_TEXT_STRING); StartsWithString = EmptyIfNoKey(dic, FILEKEY_STARTS_WITH_STRING); EndsWithString = EmptyIfNoKey(dic, FILEKEY_ENDS_WITH_STRING); REGEXString = EmptyIfNoKey(dic, FILEKEY_REGEX_STRING); UpdateSERMatcher(); }
} //GetChangedItems public List <TemplateItem> GetChangedItems(TemplateItemType itemType, bool returnChildren) { List <TemplateItem> changedItems = FindAll(p => ((p.IsChanged) && (p.ItemType == itemType))); if (returnChildren) { foreach (var item in changedItems) { List <TemplateItem> children = GetChildren(item.Id, true); if (children?.Count > 0) { changedItems.AddRange(children); } } } return(changedItems); } //GetChangedItems
} //GetParent public TemplateItem GetParent(string id, TemplateItemType upToItemType) { TemplateItem templateItem = Find(p => p.Id.Equals(id, StringComparison.Ordinal)); while (templateItem?.ItemType != upToItemType) { if (!string.IsNullOrWhiteSpace(templateItem.ParentId)) { templateItem = Find(p => p.Id.Equals(templateItem.ParentId, StringComparison.Ordinal)); } else { templateItem = null; break; } } //while ItemType return(templateItem); } //GetParent
} //GetParent public TemplateItem GetParent(TemplateItem templateItem, TemplateItemType upToItemType) { TemplateItem result = null; if ((templateItem != null) && (!string.IsNullOrWhiteSpace(templateItem.ParentId))) { result = Find(p => p.Id.Equals(templateItem.ParentId, StringComparison.Ordinal)); while (result?.ItemType != upToItemType) { if (!string.IsNullOrWhiteSpace(result.ParentId)) { result = Find(p => p.Id.Equals(result.ParentId, StringComparison.Ordinal)); } else { templateItem = null; break; } } } //if templateItem return(result); } //GetParent
public TemplateItem(int id, TemplateItemType itemType) { Id = id; ItemType = itemType; }
} //GetEmptyItems public List <TemplateItem> GetEmptyItems(TemplateItemType itemType) { return(FindAll(p => ((p.IsEmpty) && (p.ItemType == itemType)))); } //GetEmptyItems
} //GetChangedItems public List <TemplateItem> GetChangedItems(TemplateItemType itemType) { return(FindAll(p => ((p.IsChanged) && (p.ItemType == itemType)))); } //GetChangedItems
} //GetItemByName public List <TemplateItem> GetItems(TemplateItemType itemType) { return(FindAll(p => p.ItemType == itemType)); } //GetItems
} //GetItemByName public TemplateItem GetItemByName(string name, TemplateItemType itemType) { return(Find(p => (p.Name.Equals(name, StringComparison.Ordinal) && (p.ItemType == itemType)))); } //GetItemByName
} //GetItem public TemplateItem GetItem(string id, TemplateItemType itemType) { return(Find(p => (p.Id.Equals(id, StringComparison.Ordinal) && (p.ItemType == itemType)))); } //GetItem