Beispiel #1
0
        protected virtual IInventoryItemRequirementStateCreated Map(ICreateInventoryItemRequirement c)
        {
            var stateEventId = new InventoryItemRequirementEventId(c.InventoryItemRequirementId, c.Version);
            IInventoryItemRequirementStateCreated e = NewInventoryItemRequirementStateCreated(stateEventId);

            e.CommandId = c.CommandId;


            e.CreatedBy = (string)c.RequesterId;
            e.CreatedAt = ApplicationContext.Current.TimestampService.Now <DateTime>();
            var version = c.Version;

            decimal quantity = default(decimal);

            foreach (ICreateInventoryItemRequirementEntry innerCommand in c.Entries)
            {
                ThrowOnInconsistentCommands(c, innerCommand);

                IInventoryItemRequirementEntryStateCreated innerEvent = MapCreate(innerCommand, c, version, _state);
                e.AddInventoryItemRequirementEntryEvent(innerEvent);
                quantity = quantity + (innerEvent.Quantity != null ? innerEvent.Quantity.GetValueOrDefault() : default(decimal));
            }

            e.Quantity = quantity;

            return(e);
        }
        public virtual void When(IInventoryItemRequirementEntryStateCreated e)
        {
            ThrowOnWrongEvent(e);
            this.Quantity = (e.Quantity != null && e.Quantity.HasValue) ? e.Quantity.Value : default(decimal);

            this.SourceEventId = e.SourceEventId;

            this.Deleted = false;

            this.CreatedBy = e.CreatedBy;
            this.CreatedAt = e.CreatedAt;
        }
Beispiel #3
0
        protected virtual IInventoryItemRequirementEntryStateCreated MapCreate(ICreateInventoryItemRequirementEntry c, IInventoryItemRequirementCommand outerCommand, long version, IInventoryItemRequirementState outerState)
        {
            c.RequesterId = outerCommand.RequesterId;
            var stateEventId = new InventoryItemRequirementEntryEventId(c.InventoryItemRequirementId, c.EntrySeqId, version);
            IInventoryItemRequirementEntryStateCreated e = NewInventoryItemRequirementEntryStateCreated(stateEventId);
            var s = outerState.Entries.Get(c.EntrySeqId, true);

            e.Quantity      = c.Quantity;
            e.SourceEventId = c.SourceEventId;

            e.CreatedBy = (string)c.RequesterId;
            e.CreatedAt = ApplicationContext.Current.TimestampService.Now <DateTime>();
            return(e);
        }// END Map(ICreate... ////////////////////////////
 void IInventoryItemRequirementEntryState.When(IInventoryItemRequirementEntryStateCreated e)
 {
     throw new NotSupportedException();
 }
 public virtual void AddInventoryItemRequirementEntryEvent(IInventoryItemRequirementEntryStateCreated e)
 {
     ThrowOnInconsistentEventIds(e);
     this._inventoryItemRequirementEntryEvents[e.InventoryItemRequirementEntryEventId] = e;
 }
Beispiel #6
0
 void IInventoryItemRequirementStateCreated.AddInventoryItemRequirementEntryEvent(IInventoryItemRequirementEntryStateCreated e)
 {
     this._inventoryItemRequirementEntryEvents.AddInventoryItemRequirementEntryEvent(e);
 }
        public virtual InventoryItemRequirementEntryStateCreatedDto ToInventoryItemRequirementEntryStateCreatedDto(IInventoryItemRequirementEntryStateCreated e)
        {
            var dto = new InventoryItemRequirementEntryStateCreatedDto();

            dto.InventoryItemRequirementEntryEventId = e.InventoryItemRequirementEntryEventId;
            dto.CreatedAt     = e.CreatedAt;
            dto.CreatedBy     = e.CreatedBy;
            dto.Version       = e.Version;
            dto.CommandId     = e.CommandId;
            dto.Quantity      = e.Quantity;
            dto.SourceEventId = e.SourceEventId;
            return(dto);
        }