public virtual InOutStateMergePatchedDto ToInOutStateMergePatchedDto(IInOutStateMergePatched e) { var dto = new InOutStateMergePatchedDto(); dto.InOutEventId = e.InOutEventId; dto.CreatedAt = e.CreatedAt; dto.CreatedBy = e.CreatedBy; dto.CommandId = e.CommandId; dto.DocumentStatusId = e.DocumentStatusId; dto.Posted = e.Posted; dto.Processed = e.Processed; dto.Processing = e.Processing; dto.DocumentTypeId = e.DocumentTypeId; dto.Description = e.Description; dto.OrderId = e.OrderId; dto.DateOrdered = e.DateOrdered; dto.IsPrinted = e.IsPrinted; dto.MovementTypeId = e.MovementTypeId; dto.MovementDate = e.MovementDate; dto.BusinessPartnerId = e.BusinessPartnerId; dto.WarehouseId = e.WarehouseId; dto.POReference = e.POReference; dto.FreightAmount = e.FreightAmount; dto.ShipperId = e.ShipperId; dto.ChargeAmount = e.ChargeAmount; dto.DatePrinted = e.DatePrinted; dto.CreatedFrom = e.CreatedFrom; dto.SalesRepresentativeId = e.SalesRepresentativeId; dto.NumberOfPackages = e.NumberOfPackages; dto.PickDate = e.PickDate; dto.ShipDate = e.ShipDate; dto.TrackingNumber = e.TrackingNumber; dto.DateReceived = e.DateReceived; dto.IsInTransit = e.IsInTransit; dto.IsApproved = e.IsApproved; dto.IsInDispute = e.IsInDispute; dto.RmaDocumentNumber = e.RmaDocumentNumber; dto.ReversalDocumentNumber = e.ReversalDocumentNumber; dto.Active = e.Active; dto.IsPropertyDocumentStatusIdRemoved = e.IsPropertyDocumentStatusIdRemoved; dto.IsPropertyPostedRemoved = e.IsPropertyPostedRemoved; dto.IsPropertyProcessedRemoved = e.IsPropertyProcessedRemoved; dto.IsPropertyProcessingRemoved = e.IsPropertyProcessingRemoved; dto.IsPropertyDocumentTypeIdRemoved = e.IsPropertyDocumentTypeIdRemoved; dto.IsPropertyDescriptionRemoved = e.IsPropertyDescriptionRemoved; dto.IsPropertyOrderIdRemoved = e.IsPropertyOrderIdRemoved; dto.IsPropertyDateOrderedRemoved = e.IsPropertyDateOrderedRemoved; dto.IsPropertyIsPrintedRemoved = e.IsPropertyIsPrintedRemoved; dto.IsPropertyMovementTypeIdRemoved = e.IsPropertyMovementTypeIdRemoved; dto.IsPropertyMovementDateRemoved = e.IsPropertyMovementDateRemoved; dto.IsPropertyBusinessPartnerIdRemoved = e.IsPropertyBusinessPartnerIdRemoved; dto.IsPropertyWarehouseIdRemoved = e.IsPropertyWarehouseIdRemoved; dto.IsPropertyPOReferenceRemoved = e.IsPropertyPOReferenceRemoved; dto.IsPropertyFreightAmountRemoved = e.IsPropertyFreightAmountRemoved; dto.IsPropertyShipperIdRemoved = e.IsPropertyShipperIdRemoved; dto.IsPropertyChargeAmountRemoved = e.IsPropertyChargeAmountRemoved; dto.IsPropertyDatePrintedRemoved = e.IsPropertyDatePrintedRemoved; dto.IsPropertyCreatedFromRemoved = e.IsPropertyCreatedFromRemoved; dto.IsPropertySalesRepresentativeIdRemoved = e.IsPropertySalesRepresentativeIdRemoved; dto.IsPropertyNumberOfPackagesRemoved = e.IsPropertyNumberOfPackagesRemoved; dto.IsPropertyPickDateRemoved = e.IsPropertyPickDateRemoved; dto.IsPropertyShipDateRemoved = e.IsPropertyShipDateRemoved; dto.IsPropertyTrackingNumberRemoved = e.IsPropertyTrackingNumberRemoved; dto.IsPropertyDateReceivedRemoved = e.IsPropertyDateReceivedRemoved; dto.IsPropertyIsInTransitRemoved = e.IsPropertyIsInTransitRemoved; dto.IsPropertyIsApprovedRemoved = e.IsPropertyIsApprovedRemoved; dto.IsPropertyIsInDisputeRemoved = e.IsPropertyIsInDisputeRemoved; dto.IsPropertyRmaDocumentNumberRemoved = e.IsPropertyRmaDocumentNumberRemoved; dto.IsPropertyReversalDocumentNumberRemoved = e.IsPropertyReversalDocumentNumberRemoved; dto.IsPropertyActiveRemoved = e.IsPropertyActiveRemoved; var inOutImageEvents = new List <InOutImageStateCreatedOrMergePatchedOrRemovedDto>(); foreach (var ee in e.InOutImageEvents) { InOutImageStateCreatedOrMergePatchedOrRemovedDto eeDto = InOutImageStateEventDtoConverter.ToInOutImageStateEventDto(ee); inOutImageEvents.Add(eeDto); } dto.InOutImageEvents = inOutImageEvents.ToArray(); var inOutLineEvents = new List <InOutLineStateCreatedOrMergePatchedOrRemovedDto>(); foreach (var ee in e.InOutLineEvents) { InOutLineStateCreatedOrMergePatchedOrRemovedDto eeDto = InOutLineStateEventDtoConverter.ToInOutLineStateEventDto(ee); inOutLineEvents.Add(eeDto); } dto.InOutLineEvents = inOutLineEvents.ToArray(); return(dto); }
public virtual void When(IInOutStateMergePatched e) { ThrowOnWrongEvent(e); if (e.IsSOTransaction == null) { if (e.IsPropertyIsSOTransactionRemoved) { this.IsSOTransaction = default(bool); } } else { this.IsSOTransaction = (e.IsSOTransaction != null && e.IsSOTransaction.HasValue) ? e.IsSOTransaction.Value : default(bool); } if (e.DocumentStatus == null) { if (e.IsPropertyDocumentStatusRemoved) { this.DocumentStatus = default(string); } } else { this.DocumentStatus = e.DocumentStatus; } if (e.Posted == null) { if (e.IsPropertyPostedRemoved) { this.Posted = default(bool); } } else { this.Posted = (e.Posted != null && e.Posted.HasValue) ? e.Posted.Value : default(bool); } if (e.Processing == null) { if (e.IsPropertyProcessingRemoved) { this.Processing = default(bool); } } else { this.Processing = (e.Processing != null && e.Processing.HasValue) ? e.Processing.Value : default(bool); } if (e.Processed == null) { if (e.IsPropertyProcessedRemoved) { this.Processed = default(bool); } } else { this.Processed = (e.Processed != null && e.Processed.HasValue) ? e.Processed.Value : default(bool); } if (e.DocumentType == null) { if (e.IsPropertyDocumentTypeRemoved) { this.DocumentType = default(int); } } else { this.DocumentType = (e.DocumentType != null && e.DocumentType.HasValue) ? e.DocumentType.Value : default(int); } if (e.Description == null) { if (e.IsPropertyDescriptionRemoved) { this.Description = default(string); } } else { this.Description = e.Description; } if (e.OrderNumber == null) { if (e.IsPropertyOrderNumberRemoved) { this.OrderNumber = default(string); } } else { this.OrderNumber = e.OrderNumber; } if (e.DateOrdered == null) { if (e.IsPropertyDateOrderedRemoved) { this.DateOrdered = default(DateTime?); } } else { this.DateOrdered = e.DateOrdered; } if (e.IsPrinted == null) { if (e.IsPropertyIsPrintedRemoved) { this.IsPrinted = default(bool); } } else { this.IsPrinted = (e.IsPrinted != null && e.IsPrinted.HasValue) ? e.IsPrinted.Value : default(bool); } if (e.MovementType == null) { if (e.IsPropertyMovementTypeRemoved) { this.MovementType = default(string); } } else { this.MovementType = e.MovementType; } if (e.MovementDate == null) { if (e.IsPropertyMovementDateRemoved) { this.MovementDate = default(DateTime?); } } else { this.MovementDate = e.MovementDate; } if (e.BusinessPartnerId == null) { if (e.IsPropertyBusinessPartnerIdRemoved) { this.BusinessPartnerId = default(string); } } else { this.BusinessPartnerId = e.BusinessPartnerId; } if (e.WarehouseId == null) { if (e.IsPropertyWarehouseIdRemoved) { this.WarehouseId = default(string); } } else { this.WarehouseId = e.WarehouseId; } if (e.POReference == null) { if (e.IsPropertyPOReferenceRemoved) { this.POReference = default(string); } } else { this.POReference = e.POReference; } if (e.FreightAmount == null) { if (e.IsPropertyFreightAmountRemoved) { this.FreightAmount = default(Money); } } else { this.FreightAmount = (e.FreightAmount != null && e.FreightAmount.HasValue) ? e.FreightAmount.Value : default(Money); } if (e.ShipperId == null) { if (e.IsPropertyShipperIdRemoved) { this.ShipperId = default(string); } } else { this.ShipperId = e.ShipperId; } if (e.ChargeAmount == null) { if (e.IsPropertyChargeAmountRemoved) { this.ChargeAmount = default(Money); } } else { this.ChargeAmount = (e.ChargeAmount != null && e.ChargeAmount.HasValue) ? e.ChargeAmount.Value : default(Money); } if (e.DatePrinted == null) { if (e.IsPropertyDatePrintedRemoved) { this.DatePrinted = default(DateTime?); } } else { this.DatePrinted = e.DatePrinted; } if (e.SalesRepresentative == null) { if (e.IsPropertySalesRepresentativeRemoved) { this.SalesRepresentative = default(string); } } else { this.SalesRepresentative = e.SalesRepresentative; } if (e.NumberOfPackages == null) { if (e.IsPropertyNumberOfPackagesRemoved) { this.NumberOfPackages = default(int); } } else { this.NumberOfPackages = (e.NumberOfPackages != null && e.NumberOfPackages.HasValue) ? e.NumberOfPackages.Value : default(int); } if (e.PickDate == null) { if (e.IsPropertyPickDateRemoved) { this.PickDate = default(DateTime?); } } else { this.PickDate = e.PickDate; } if (e.ShipDate == null) { if (e.IsPropertyShipDateRemoved) { this.ShipDate = default(DateTime?); } } else { this.ShipDate = e.ShipDate; } if (e.TrackingNumber == null) { if (e.IsPropertyTrackingNumberRemoved) { this.TrackingNumber = default(string); } } else { this.TrackingNumber = e.TrackingNumber; } if (e.DateReceived == null) { if (e.IsPropertyDateReceivedRemoved) { this.DateReceived = default(DateTime?); } } else { this.DateReceived = e.DateReceived; } if (e.IsInTransit == null) { if (e.IsPropertyIsInTransitRemoved) { this.IsInTransit = default(bool); } } else { this.IsInTransit = (e.IsInTransit != null && e.IsInTransit.HasValue) ? e.IsInTransit.Value : default(bool); } if (e.IsApproved == null) { if (e.IsPropertyIsApprovedRemoved) { this.IsApproved = default(bool); } } else { this.IsApproved = (e.IsApproved != null && e.IsApproved.HasValue) ? e.IsApproved.Value : default(bool); } if (e.IsInDispute == null) { if (e.IsPropertyIsInDisputeRemoved) { this.IsInDispute = default(bool); } } else { this.IsInDispute = (e.IsInDispute != null && e.IsInDispute.HasValue) ? e.IsInDispute.Value : default(bool); } if (e.Volume == null) { if (e.IsPropertyVolumeRemoved) { this.Volume = default(decimal); } } else { this.Volume = (e.Volume != null && e.Volume.HasValue) ? e.Volume.Value : default(decimal); } if (e.Weight == null) { if (e.IsPropertyWeightRemoved) { this.Weight = default(decimal); } } else { this.Weight = (e.Weight != null && e.Weight.HasValue) ? e.Weight.Value : default(decimal); } if (e.RmaNumber == null) { if (e.IsPropertyRmaNumberRemoved) { this.RmaNumber = default(string); } } else { this.RmaNumber = e.RmaNumber; } if (e.ReversalNumber == null) { if (e.IsPropertyReversalNumberRemoved) { this.ReversalNumber = default(string); } } else { this.ReversalNumber = e.ReversalNumber; } if (e.IsDropShip == null) { if (e.IsPropertyIsDropShipRemoved) { this.IsDropShip = default(bool); } } else { this.IsDropShip = (e.IsDropShip != null && e.IsDropShip.HasValue) ? e.IsDropShip.Value : default(bool); } if (e.DropShipBusinessPartnerId == null) { if (e.IsPropertyDropShipBusinessPartnerIdRemoved) { this.DropShipBusinessPartnerId = default(string); } } else { this.DropShipBusinessPartnerId = e.DropShipBusinessPartnerId; } if (e.Active == null) { if (e.IsPropertyActiveRemoved) { this.Active = default(bool); } } else { this.Active = (e.Active != null && e.Active.HasValue) ? e.Active.Value : default(bool); } this.UpdatedBy = e.CreatedBy; this.UpdatedAt = e.CreatedAt; foreach (IInOutLineStateEvent innerEvent in e.InOutLineEvents) { IInOutLineState innerState = this.InOutLines.Get(innerEvent.GlobalId.LineNumber); innerState.Mutate(innerEvent); var removed = innerEvent as IInOutLineStateRemoved; if (removed != null) { this.InOutLines.Remove(innerState); } } }
void IInOutState.When(IInOutStateMergePatched e) { throw new NotSupportedException(); }
public virtual void MergePatch(IMergePatchInOut c) { IInOutStateMergePatched e = Map(c); Apply(e); }
}// END Map(IRemove... //////////////////////////// protected void NewInOutDocumentActionCommandAndExecute(IMergePatchInOut c, IInOutState s, IInOutStateMergePatched e) { var pCommandHandler = this.InOutDocumentActionCommandHandler; var pCmdContent = c.DocumentAction; var pCmd = new PropertyCommand <DocumentAction, string> { Content = pCmdContent, GetState = () => s.DocumentStatus, SetState = p => e.DocumentStatus = p, OuterCommandType = CommandType.MergePatch }; pCommandHandler.Execute(pCmd); }
protected virtual IInOutStateMergePatched Map(IMergePatchInOut c) { var stateEventId = new InOutStateEventId(c.DocumentNumber, c.Version); IInOutStateMergePatched e = NewInOutStateMergePatched(stateEventId); e.IsSOTransaction = c.IsSOTransaction; NewInOutDocumentActionCommandAndExecute(c, _state, e); e.Posted = c.Posted; e.Processing = c.Processing; e.Processed = c.Processed; e.DocumentType = c.DocumentType; e.Description = c.Description; e.OrderNumber = c.OrderNumber; e.DateOrdered = c.DateOrdered; e.IsPrinted = c.IsPrinted; e.MovementType = c.MovementType; e.MovementDate = c.MovementDate; e.BusinessPartnerId = c.BusinessPartnerId; e.WarehouseId = c.WarehouseId; e.POReference = c.POReference; e.FreightAmount = c.FreightAmount; e.ShipperId = c.ShipperId; e.ChargeAmount = c.ChargeAmount; e.DatePrinted = c.DatePrinted; e.SalesRepresentative = c.SalesRepresentative; e.NumberOfPackages = c.NumberOfPackages; e.PickDate = c.PickDate; e.ShipDate = c.ShipDate; e.TrackingNumber = c.TrackingNumber; e.DateReceived = c.DateReceived; e.IsInTransit = c.IsInTransit; e.IsApproved = c.IsApproved; e.IsInDispute = c.IsInDispute; e.Volume = c.Volume; e.Weight = c.Weight; e.RmaNumber = c.RmaNumber; e.ReversalNumber = c.ReversalNumber; e.IsDropShip = c.IsDropShip; e.DropShipBusinessPartnerId = c.DropShipBusinessPartnerId; e.Active = c.Active; e.IsPropertyIsSOTransactionRemoved = c.IsPropertyIsSOTransactionRemoved; e.IsPropertyPostedRemoved = c.IsPropertyPostedRemoved; e.IsPropertyProcessingRemoved = c.IsPropertyProcessingRemoved; e.IsPropertyProcessedRemoved = c.IsPropertyProcessedRemoved; e.IsPropertyDocumentTypeRemoved = c.IsPropertyDocumentTypeRemoved; e.IsPropertyDescriptionRemoved = c.IsPropertyDescriptionRemoved; e.IsPropertyOrderNumberRemoved = c.IsPropertyOrderNumberRemoved; e.IsPropertyDateOrderedRemoved = c.IsPropertyDateOrderedRemoved; e.IsPropertyIsPrintedRemoved = c.IsPropertyIsPrintedRemoved; e.IsPropertyMovementTypeRemoved = c.IsPropertyMovementTypeRemoved; e.IsPropertyMovementDateRemoved = c.IsPropertyMovementDateRemoved; e.IsPropertyBusinessPartnerIdRemoved = c.IsPropertyBusinessPartnerIdRemoved; e.IsPropertyWarehouseIdRemoved = c.IsPropertyWarehouseIdRemoved; e.IsPropertyPOReferenceRemoved = c.IsPropertyPOReferenceRemoved; e.IsPropertyFreightAmountRemoved = c.IsPropertyFreightAmountRemoved; e.IsPropertyShipperIdRemoved = c.IsPropertyShipperIdRemoved; e.IsPropertyChargeAmountRemoved = c.IsPropertyChargeAmountRemoved; e.IsPropertyDatePrintedRemoved = c.IsPropertyDatePrintedRemoved; e.IsPropertySalesRepresentativeRemoved = c.IsPropertySalesRepresentativeRemoved; e.IsPropertyNumberOfPackagesRemoved = c.IsPropertyNumberOfPackagesRemoved; e.IsPropertyPickDateRemoved = c.IsPropertyPickDateRemoved; e.IsPropertyShipDateRemoved = c.IsPropertyShipDateRemoved; e.IsPropertyTrackingNumberRemoved = c.IsPropertyTrackingNumberRemoved; e.IsPropertyDateReceivedRemoved = c.IsPropertyDateReceivedRemoved; e.IsPropertyIsInTransitRemoved = c.IsPropertyIsInTransitRemoved; e.IsPropertyIsApprovedRemoved = c.IsPropertyIsApprovedRemoved; e.IsPropertyIsInDisputeRemoved = c.IsPropertyIsInDisputeRemoved; e.IsPropertyVolumeRemoved = c.IsPropertyVolumeRemoved; e.IsPropertyWeightRemoved = c.IsPropertyWeightRemoved; e.IsPropertyRmaNumberRemoved = c.IsPropertyRmaNumberRemoved; e.IsPropertyReversalNumberRemoved = c.IsPropertyReversalNumberRemoved; e.IsPropertyIsDropShipRemoved = c.IsPropertyIsDropShipRemoved; e.IsPropertyDropShipBusinessPartnerIdRemoved = c.IsPropertyDropShipBusinessPartnerIdRemoved; e.IsPropertyActiveRemoved = c.IsPropertyActiveRemoved; ReflectUtils.CopyPropertyValue("CommandId", c, e); e.CreatedBy = (string)c.RequesterId; e.CreatedAt = DateTime.Now; var version = c.Version; foreach (IInOutLineCommand innerCommand in c.InOutLineCommands) { ThrowOnInconsistentCommands(c, innerCommand); IInOutLineStateEvent innerEvent = Map(innerCommand, c, version, _state); e.AddInOutLineEvent(innerEvent); } return(e); }
protected virtual IInOutStateMergePatched Map(IMergePatchInOut c) { var stateEventId = new InOutEventId(c.DocumentNumber, c.Version); IInOutStateMergePatched e = NewInOutStateMergePatched(stateEventId); e.Posted = c.Posted; e.Processed = c.Processed; e.Processing = c.Processing; e.DocumentTypeId = c.DocumentTypeId; e.Description = c.Description; e.OrderId = c.OrderId; e.DateOrdered = c.DateOrdered; e.IsPrinted = c.IsPrinted; e.MovementTypeId = c.MovementTypeId; e.MovementDate = c.MovementDate; e.BusinessPartnerId = c.BusinessPartnerId; e.WarehouseId = c.WarehouseId; e.POReference = c.POReference; e.FreightAmount = c.FreightAmount; e.ShipperId = c.ShipperId; e.ChargeAmount = c.ChargeAmount; e.DatePrinted = c.DatePrinted; e.CreatedFrom = c.CreatedFrom; e.SalesRepresentativeId = c.SalesRepresentativeId; e.NumberOfPackages = c.NumberOfPackages; e.PickDate = c.PickDate; e.ShipDate = c.ShipDate; e.TrackingNumber = c.TrackingNumber; e.DateReceived = c.DateReceived; e.IsInTransit = c.IsInTransit; e.IsApproved = c.IsApproved; e.IsInDispute = c.IsInDispute; e.RmaDocumentNumber = c.RmaDocumentNumber; e.ReversalDocumentNumber = c.ReversalDocumentNumber; e.Active = c.Active; e.IsPropertyPostedRemoved = c.IsPropertyPostedRemoved; e.IsPropertyProcessedRemoved = c.IsPropertyProcessedRemoved; e.IsPropertyProcessingRemoved = c.IsPropertyProcessingRemoved; e.IsPropertyDocumentTypeIdRemoved = c.IsPropertyDocumentTypeIdRemoved; e.IsPropertyDescriptionRemoved = c.IsPropertyDescriptionRemoved; e.IsPropertyOrderIdRemoved = c.IsPropertyOrderIdRemoved; e.IsPropertyDateOrderedRemoved = c.IsPropertyDateOrderedRemoved; e.IsPropertyIsPrintedRemoved = c.IsPropertyIsPrintedRemoved; e.IsPropertyMovementTypeIdRemoved = c.IsPropertyMovementTypeIdRemoved; e.IsPropertyMovementDateRemoved = c.IsPropertyMovementDateRemoved; e.IsPropertyBusinessPartnerIdRemoved = c.IsPropertyBusinessPartnerIdRemoved; e.IsPropertyWarehouseIdRemoved = c.IsPropertyWarehouseIdRemoved; e.IsPropertyPOReferenceRemoved = c.IsPropertyPOReferenceRemoved; e.IsPropertyFreightAmountRemoved = c.IsPropertyFreightAmountRemoved; e.IsPropertyShipperIdRemoved = c.IsPropertyShipperIdRemoved; e.IsPropertyChargeAmountRemoved = c.IsPropertyChargeAmountRemoved; e.IsPropertyDatePrintedRemoved = c.IsPropertyDatePrintedRemoved; e.IsPropertyCreatedFromRemoved = c.IsPropertyCreatedFromRemoved; e.IsPropertySalesRepresentativeIdRemoved = c.IsPropertySalesRepresentativeIdRemoved; e.IsPropertyNumberOfPackagesRemoved = c.IsPropertyNumberOfPackagesRemoved; e.IsPropertyPickDateRemoved = c.IsPropertyPickDateRemoved; e.IsPropertyShipDateRemoved = c.IsPropertyShipDateRemoved; e.IsPropertyTrackingNumberRemoved = c.IsPropertyTrackingNumberRemoved; e.IsPropertyDateReceivedRemoved = c.IsPropertyDateReceivedRemoved; e.IsPropertyIsInTransitRemoved = c.IsPropertyIsInTransitRemoved; e.IsPropertyIsApprovedRemoved = c.IsPropertyIsApprovedRemoved; e.IsPropertyIsInDisputeRemoved = c.IsPropertyIsInDisputeRemoved; e.IsPropertyRmaDocumentNumberRemoved = c.IsPropertyRmaDocumentNumberRemoved; e.IsPropertyReversalDocumentNumberRemoved = c.IsPropertyReversalDocumentNumberRemoved; e.IsPropertyActiveRemoved = c.IsPropertyActiveRemoved; e.CommandId = c.CommandId; e.CreatedBy = (string)c.RequesterId; e.CreatedAt = ApplicationContext.Current.TimestampService.Now <DateTime>(); var version = c.Version; foreach (IInOutLineCommand innerCommand in c.InOutLineCommands) { ThrowOnInconsistentCommands(c, innerCommand); IInOutLineEvent innerEvent = Map(innerCommand, c, version, _state); e.AddInOutLineEvent(innerEvent); } return(e); }