protected virtual ISellableInventoryItemEntryMvoStateMergePatched Map(IMergePatchSellableInventoryItemEntryMvo c) { var stateEventId = new SellableInventoryItemEntryMvoEventId(c.SellableInventoryItemEntryId, c.SellableInventoryItemVersion); ISellableInventoryItemEntryMvoStateMergePatched e = NewSellableInventoryItemEntryMvoStateMergePatched(stateEventId); e.SellableQuantity = c.SellableQuantity; e.SourceEventId = c.SourceEventId; e.Version = c.Version; e.SellableInventoryItemSellableQuantity = c.SellableInventoryItemSellableQuantity; e.SellableInventoryItemCreatedBy = c.SellableInventoryItemCreatedBy; e.SellableInventoryItemCreatedAt = c.SellableInventoryItemCreatedAt; e.SellableInventoryItemUpdatedBy = c.SellableInventoryItemUpdatedBy; e.SellableInventoryItemUpdatedAt = c.SellableInventoryItemUpdatedAt; e.IsPropertySellableQuantityRemoved = c.IsPropertySellableQuantityRemoved; e.IsPropertySourceEventIdRemoved = c.IsPropertySourceEventIdRemoved; e.IsPropertyVersionRemoved = c.IsPropertyVersionRemoved; e.IsPropertySellableInventoryItemSellableQuantityRemoved = c.IsPropertySellableInventoryItemSellableQuantityRemoved; e.IsPropertySellableInventoryItemCreatedByRemoved = c.IsPropertySellableInventoryItemCreatedByRemoved; e.IsPropertySellableInventoryItemCreatedAtRemoved = c.IsPropertySellableInventoryItemCreatedAtRemoved; e.IsPropertySellableInventoryItemUpdatedByRemoved = c.IsPropertySellableInventoryItemUpdatedByRemoved; e.IsPropertySellableInventoryItemUpdatedAtRemoved = c.IsPropertySellableInventoryItemUpdatedAtRemoved; e.CommandId = c.CommandId; e.CreatedBy = (string)c.RequesterId; e.CreatedAt = ApplicationContext.Current.TimestampService.Now <DateTime>(); var sellableInventoryItemVersion = c.SellableInventoryItemVersion; return(e); }
public virtual SellableInventoryItemEntryMvoStateMergePatchedDto ToSellableInventoryItemEntryMvoStateMergePatchedDto(ISellableInventoryItemEntryMvoStateMergePatched e) { var dto = new SellableInventoryItemEntryMvoStateMergePatchedDto(); dto.SellableInventoryItemEntryMvoEventId = e.SellableInventoryItemEntryMvoEventId; dto.CreatedAt = e.CreatedAt; dto.CreatedBy = e.CreatedBy; dto.CommandId = e.CommandId; dto.SellableQuantity = e.SellableQuantity; dto.SourceEventId = e.SourceEventId; dto.Version = e.Version; dto.SellableInventoryItemSellableQuantity = e.SellableInventoryItemSellableQuantity; dto.SellableInventoryItemCreatedBy = e.SellableInventoryItemCreatedBy; dto.SellableInventoryItemCreatedAt = e.SellableInventoryItemCreatedAt; dto.SellableInventoryItemUpdatedBy = e.SellableInventoryItemUpdatedBy; dto.SellableInventoryItemUpdatedAt = e.SellableInventoryItemUpdatedAt; dto.IsPropertySellableQuantityRemoved = e.IsPropertySellableQuantityRemoved; dto.IsPropertySourceEventIdRemoved = e.IsPropertySourceEventIdRemoved; dto.IsPropertyVersionRemoved = e.IsPropertyVersionRemoved; dto.IsPropertySellableInventoryItemSellableQuantityRemoved = e.IsPropertySellableInventoryItemSellableQuantityRemoved; dto.IsPropertySellableInventoryItemCreatedByRemoved = e.IsPropertySellableInventoryItemCreatedByRemoved; dto.IsPropertySellableInventoryItemCreatedAtRemoved = e.IsPropertySellableInventoryItemCreatedAtRemoved; dto.IsPropertySellableInventoryItemUpdatedByRemoved = e.IsPropertySellableInventoryItemUpdatedByRemoved; dto.IsPropertySellableInventoryItemUpdatedAtRemoved = e.IsPropertySellableInventoryItemUpdatedAtRemoved; return(dto); }
public virtual void When(ISellableInventoryItemEntryMvoStateMergePatched e) { ThrowOnWrongEvent(e); if (e.SellableQuantity == null) { if (e.IsPropertySellableQuantityRemoved) { this.SellableQuantity = default(decimal); } } else { this.SellableQuantity = (e.SellableQuantity != null && e.SellableQuantity.HasValue) ? e.SellableQuantity.Value : default(decimal); } if (e.SourceEventId == null) { if (e.IsPropertySourceEventIdRemoved) { this.SourceEventId = default(InventoryPRTriggeredId); } } else { this.SourceEventId = e.SourceEventId; } if (e.Version == null) { if (e.IsPropertyVersionRemoved) { this.Version = default(long); } } else { this.Version = (e.Version != null && e.Version.HasValue) ? e.Version.Value : default(long); } if (e.SellableInventoryItemSellableQuantity == null) { if (e.IsPropertySellableInventoryItemSellableQuantityRemoved) { this.SellableInventoryItemSellableQuantity = default(decimal); } } else { this.SellableInventoryItemSellableQuantity = (e.SellableInventoryItemSellableQuantity != null && e.SellableInventoryItemSellableQuantity.HasValue) ? e.SellableInventoryItemSellableQuantity.Value : default(decimal); } if (e.SellableInventoryItemCreatedBy == null) { if (e.IsPropertySellableInventoryItemCreatedByRemoved) { this.SellableInventoryItemCreatedBy = default(string); } } else { this.SellableInventoryItemCreatedBy = e.SellableInventoryItemCreatedBy; } if (e.SellableInventoryItemCreatedAt == null) { if (e.IsPropertySellableInventoryItemCreatedAtRemoved) { this.SellableInventoryItemCreatedAt = default(DateTime); } } else { this.SellableInventoryItemCreatedAt = (e.SellableInventoryItemCreatedAt != null && e.SellableInventoryItemCreatedAt.HasValue) ? e.SellableInventoryItemCreatedAt.Value : default(DateTime); } if (e.SellableInventoryItemUpdatedBy == null) { if (e.IsPropertySellableInventoryItemUpdatedByRemoved) { this.SellableInventoryItemUpdatedBy = default(string); } } else { this.SellableInventoryItemUpdatedBy = e.SellableInventoryItemUpdatedBy; } if (e.SellableInventoryItemUpdatedAt == null) { if (e.IsPropertySellableInventoryItemUpdatedAtRemoved) { this.SellableInventoryItemUpdatedAt = default(DateTime); } } else { this.SellableInventoryItemUpdatedAt = (e.SellableInventoryItemUpdatedAt != null && e.SellableInventoryItemUpdatedAt.HasValue) ? e.SellableInventoryItemUpdatedAt.Value : default(DateTime); } this.UpdatedBy = e.CreatedBy; this.UpdatedAt = e.CreatedAt; }
void ISellableInventoryItemEntryMvoState.When(ISellableInventoryItemEntryMvoStateMergePatched e) { throw new NotSupportedException(); }
public virtual void MergePatch(IMergePatchSellableInventoryItemEntryMvo c) { ISellableInventoryItemEntryMvoStateMergePatched e = Map(c); Apply(e); }