internal static EventTree Read(this EventTreeEntity entity, ReadConversionCollector collector) { if (entity == null) { throw new ArgumentNullException(nameof(entity)); } if (collector == null) { throw new ArgumentNullException(nameof(collector)); } if (collector.Contains(entity)) { return(collector.Get(entity)); } var eventTree = new EventTree { Name = entity.Name, Details = entity.Details, Summary = entity.Summary, MainTreeEvent = entity.TreeEventEntity?.Read(collector), Color = entity.Color.ToColor(), NeedsSpecification = entity.NeedsSpecification == 1 }; collector.Collect(entity, eventTree); return(eventTree); }
internal static EventTreeEntity Create(this EventTree model, PersistenceRegistry registry) { if (registry == null) { throw new ArgumentNullException(nameof(registry)); } if (registry.Contains(model)) { return(registry.Get(model)); } var entity = new EventTreeEntity { Name = model.Name.DeepClone(), Details = model.Details.DeepClone(), Summary = model.Summary.DeepClone(), Color = model.Color.ToHexString(), TreeEventEntity = model.MainTreeEvent?.Create(registry), NeedsSpecification = Convert.ToByte(model.NeedsSpecification) }; registry.Register(model, entity); return(entity); }
internal bool Contains(EventTreeEntity entity) { return(Contains(eventTrees, entity)); }
internal void Collect(EventTreeEntity entity, EventTree model) { Collect(eventTrees, entity, model); }
internal EventTree Get(EventTreeEntity entity) { return(Get(eventTrees, entity)); }
internal void Register(EventTree model, EventTreeEntity entity) { Register(eventTrees, model, entity); }