Ejemplo n.º 1
0
        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
Ejemplo n.º 3
0
        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
Ejemplo n.º 5
0
 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();
 }
Ejemplo n.º 6
0
        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
Ejemplo n.º 10
0
 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