protected virtual ElementBase CreateInternal(int id, InfContentsElem cttElem, InfElementsElem elElem) { switch ((ElementType)elElem.elementType) { case ElementType.Topic: return(new Topic(id, cttElem, elElem)); case ElementType.Item: return(new Item(id, cttElem, elElem)); case ElementType.ConceptGroup: return(new ConceptGroup(id, cttElem, elElem)); case ElementType.Task: return(new Task(id, cttElem, elElem)); } #if DEBUG throw new InvalidDataException("Unknown object type"); #else return(new Topic(id, cttElem, elElem)); #endif }
public Item(int id, InfContentsElem cttElem, InfElementsElem elElem) : base(id, cttElem, elElem) { }
public ConceptGroup(int id, InfContentsElem cttElem, InfElementsElem elElem) : base(id, cttElem, elElem) { }
protected ElementBase(int id, InfContentsElem cttElem, InfElementsElem elElem) { Id = id; #if DEBUG && !DEBUG_IN_PROD System.Diagnostics.Debug.WriteLine("[{0} {1}] Creating", GetType().Name, Id); #endif TitleTextId = SetValue(elElem.titleTextId, nameof(TitleTextId)); Deleted = SetValue(cttElem.deleted != 0, nameof(Deleted)); TemplateId = SetValue(elElem.templateId, nameof(TemplateId)); ConceptId = SetValue(elElem.conceptId, nameof(ConceptId)); ComponentPos = SetValue(elElem.componPos, nameof(ComponentPos)); OnComponentPosChanged(-1, ComponentPos); //AFactor = SetDbg(elElem.AFactor, nameof(AFactor)); ParentId = SetValue(cttElem.parentId, nameof(ParentId)); FirstChildId = SetValue(cttElem.firstChildId, nameof(FirstChildId)); LastChildId = SetValue(cttElem.lastChildId, nameof(LastChildId)); NextSiblingId = SetValue(cttElem.nextSiblingId, nameof(NextSiblingId)); PrevSiblingId = SetValue(cttElem.prevSiblingId, nameof(PrevSiblingId)); DescendantCount = SetValue(cttElem.descendantCount, nameof(DescendantCount)); ChildrenCount = SetValue(cttElem.childrenCount, nameof(ChildrenCount)); }