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); }
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)); }
protected SellableInventoryItemStateEventDtoBase(SellableInventoryItemEventId stateEventId) { this.SellableInventoryItemEventId = stateEventId; }
public SellableInventoryItemStateMergePatched(SellableInventoryItemEventId stateEventId) : base(stateEventId) { }
public SellableInventoryItemStateCreated(SellableInventoryItemEventId stateEventId) : base(stateEventId) { }
protected SellableInventoryItemStateEventBase(SellableInventoryItemEventId stateEventId) : base(stateEventId) { }