protected virtual ISellableInventoryItemStateCreated Map(ICreateSellableInventoryItem c)
        {
            var stateEventId = new SellableInventoryItemEventId(c.SellableInventoryItemId, c.Version);
            ISellableInventoryItemStateCreated e = NewSellableInventoryItemStateCreated(stateEventId);

            e.CommandId = c.CommandId;


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

            decimal sellableQuantity = default(decimal);

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

                ISellableInventoryItemEntryStateCreated innerEvent = MapCreate(innerCommand, c, version, _state);
                e.AddSellableInventoryItemEntryEvent(innerEvent);
                sellableQuantity = sellableQuantity + (innerEvent.SellableQuantity != null ? innerEvent.SellableQuantity.GetValueOrDefault() : default(decimal));
            }

            e.SellableQuantity = sellableQuantity;

            return(e);
        }
        protected SellableInventoryItemStateMergePatched NewSellableInventoryItemStateMergePatched(long version, string commandId, string requesterId)
        {
            var stateEventId = new SellableInventoryItemEventId(_state.SellableInventoryItemId, version);
            var e            = NewSellableInventoryItemStateMergePatched(stateEventId);

            e.CommandId = commandId;

            e.CreatedBy = (string)requesterId;
            e.CreatedAt = ApplicationContext.Current.TimestampService.Now <DateTime>();

            return(e);
        }
Exemplo n.º 3
0
        public override bool Equals(object obj)
        {
            if (Object.ReferenceEquals(this, obj))
            {
                return(true);
            }

            SellableInventoryItemEventId other = obj as SellableInventoryItemEventId;

            if (other == null)
            {
                return(false);
            }

            return(true &&
                   Object.Equals(this.SellableInventoryItemId, other.SellableInventoryItemId) &&
                   Object.Equals(this.Version, other.Version)
                   );
        }
        protected virtual ISellableInventoryItemStateMergePatched Map(IMergePatchSellableInventoryItem c)
        {
            var stateEventId = new SellableInventoryItemEventId(c.SellableInventoryItemId, c.Version);
            ISellableInventoryItemStateMergePatched e = NewSellableInventoryItemStateMergePatched(stateEventId);


            e.CommandId = c.CommandId;


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

            var version = c.Version;

            decimal sellableQuantity = _state.SellableQuantity;

            foreach (ISellableInventoryItemEntryCommand innerCommand in c.SellableInventoryItemEntryCommands)
            {
                ThrowOnInconsistentCommands(c, innerCommand);

                ISellableInventoryItemEntryEvent innerEvent = Map(innerCommand, c, version, _state);
                e.AddSellableInventoryItemEntryEvent(innerEvent);
                // ////////////////
                if (!(innerEvent is ISellableInventoryItemEntryStateCreated))
                {
                    continue;
                }
                var entryCreated = (ISellableInventoryItemEntryStateCreated)innerEvent;
                sellableQuantity = sellableQuantity + (entryCreated.SellableQuantity != null ? entryCreated.SellableQuantity.GetValueOrDefault() : default(decimal));
                // ////////////////
            }

            e.SellableQuantity = sellableQuantity;

            return(e);
        }
 private SellableInventoryItemStateMergePatched NewSellableInventoryItemStateMergePatched(SellableInventoryItemEventId stateEventId)
 {
     return(new SellableInventoryItemStateMergePatched(stateEventId));
 }
////////////////////////

        private SellableInventoryItemStateCreated NewSellableInventoryItemStateCreated(SellableInventoryItemEventId stateEventId)
        {
            return(new SellableInventoryItemStateCreated(stateEventId));
        }
Exemplo n.º 7
0
 protected SellableInventoryItemStateEventDtoBase(SellableInventoryItemEventId stateEventId)
 {
     this.SellableInventoryItemEventId = stateEventId;
 }
Exemplo n.º 8
0
 public SellableInventoryItemStateMergePatched(SellableInventoryItemEventId stateEventId) : base(stateEventId)
 {
 }
Exemplo n.º 9
0
 public SellableInventoryItemStateCreated(SellableInventoryItemEventId stateEventId) : base(stateEventId)
 {
 }
Exemplo n.º 10
0
 protected SellableInventoryItemStateEventBase(SellableInventoryItemEventId stateEventId) : base(stateEventId)
 {
 }