Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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));
 }
Esempio n. 6
0
 internal void Register(EventTree model, EventTreeEntity entity)
 {
     Register(eventTrees, model, entity);
 }