public virtual MovementStateMergePatchedDto ToMovementStateMergePatchedDto(IMovementStateMergePatched e) { var dto = new MovementStateMergePatchedDto(); dto.MovementEventId = e.MovementEventId; dto.CreatedAt = e.CreatedAt; dto.CreatedBy = e.CreatedBy; dto.CommandId = e.CommandId; dto.DocumentStatusId = e.DocumentStatusId; dto.MovementDate = e.MovementDate; dto.Posted = e.Posted; dto.Processed = e.Processed; dto.Processing = e.Processing; dto.DateReceived = e.DateReceived; dto.DocumentTypeId = e.DocumentTypeId; dto.IsInTransit = e.IsInTransit; dto.IsApproved = e.IsApproved; dto.ApprovalAmount = e.ApprovalAmount; dto.ShipperId = e.ShipperId; dto.SalesRepresentativeId = e.SalesRepresentativeId; dto.BusinessPartnerId = e.BusinessPartnerId; dto.ChargeAmount = e.ChargeAmount; dto.CreateFrom = e.CreateFrom; dto.FreightAmount = e.FreightAmount; dto.ReversalDocumentNumber = e.ReversalDocumentNumber; dto.WarehouseIdFrom = e.WarehouseIdFrom; dto.WarehouseIdTo = e.WarehouseIdTo; dto.Description = e.Description; dto.Active = e.Active; dto.IsPropertyDocumentStatusIdRemoved = e.IsPropertyDocumentStatusIdRemoved; dto.IsPropertyMovementDateRemoved = e.IsPropertyMovementDateRemoved; dto.IsPropertyPostedRemoved = e.IsPropertyPostedRemoved; dto.IsPropertyProcessedRemoved = e.IsPropertyProcessedRemoved; dto.IsPropertyProcessingRemoved = e.IsPropertyProcessingRemoved; dto.IsPropertyDateReceivedRemoved = e.IsPropertyDateReceivedRemoved; dto.IsPropertyDocumentTypeIdRemoved = e.IsPropertyDocumentTypeIdRemoved; dto.IsPropertyIsInTransitRemoved = e.IsPropertyIsInTransitRemoved; dto.IsPropertyIsApprovedRemoved = e.IsPropertyIsApprovedRemoved; dto.IsPropertyApprovalAmountRemoved = e.IsPropertyApprovalAmountRemoved; dto.IsPropertyShipperIdRemoved = e.IsPropertyShipperIdRemoved; dto.IsPropertySalesRepresentativeIdRemoved = e.IsPropertySalesRepresentativeIdRemoved; dto.IsPropertyBusinessPartnerIdRemoved = e.IsPropertyBusinessPartnerIdRemoved; dto.IsPropertyChargeAmountRemoved = e.IsPropertyChargeAmountRemoved; dto.IsPropertyCreateFromRemoved = e.IsPropertyCreateFromRemoved; dto.IsPropertyFreightAmountRemoved = e.IsPropertyFreightAmountRemoved; dto.IsPropertyReversalDocumentNumberRemoved = e.IsPropertyReversalDocumentNumberRemoved; dto.IsPropertyWarehouseIdFromRemoved = e.IsPropertyWarehouseIdFromRemoved; dto.IsPropertyWarehouseIdToRemoved = e.IsPropertyWarehouseIdToRemoved; dto.IsPropertyDescriptionRemoved = e.IsPropertyDescriptionRemoved; dto.IsPropertyActiveRemoved = e.IsPropertyActiveRemoved; var movementLineEvents = new List <MovementLineStateCreatedOrMergePatchedOrRemovedDto>(); foreach (var ee in e.MovementLineEvents) { MovementLineStateCreatedOrMergePatchedOrRemovedDto eeDto = MovementLineStateEventDtoConverter.ToMovementLineStateEventDto(ee); movementLineEvents.Add(eeDto); } dto.MovementLineEvents = movementLineEvents.ToArray(); return(dto); }
public virtual void MergePatch(IMergePatchMovement c) { IMovementStateMergePatched e = Map(c); Apply(e); }
public virtual void When(IMovementStateMergePatched e) { ThrowOnWrongEvent(e); if (e.DocumentStatusId == null) { if (e.IsPropertyDocumentStatusIdRemoved) { this.DocumentStatusId = default(string); } } else { this.DocumentStatusId = e.DocumentStatusId; } if (e.MovementDate == null) { if (e.IsPropertyMovementDateRemoved) { this.MovementDate = default(DateTime); } } else { this.MovementDate = (e.MovementDate != null && e.MovementDate.HasValue) ? e.MovementDate.Value : default(DateTime); } 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.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.Processing == null) { if (e.IsPropertyProcessingRemoved) { this.Processing = default(string); } } else { this.Processing = e.Processing; } if (e.DateReceived == null) { if (e.IsPropertyDateReceivedRemoved) { this.DateReceived = default(DateTime); } } else { this.DateReceived = (e.DateReceived != null && e.DateReceived.HasValue) ? e.DateReceived.Value : default(DateTime); } if (e.DocumentTypeId == null) { if (e.IsPropertyDocumentTypeIdRemoved) { this.DocumentTypeId = default(string); } } else { this.DocumentTypeId = e.DocumentTypeId; } 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.ApprovalAmount == null) { if (e.IsPropertyApprovalAmountRemoved) { this.ApprovalAmount = default(decimal); } } else { this.ApprovalAmount = (e.ApprovalAmount != null && e.ApprovalAmount.HasValue) ? e.ApprovalAmount.Value : default(decimal); } if (e.ShipperId == null) { if (e.IsPropertyShipperIdRemoved) { this.ShipperId = default(string); } } else { this.ShipperId = e.ShipperId; } if (e.SalesRepresentativeId == null) { if (e.IsPropertySalesRepresentativeIdRemoved) { this.SalesRepresentativeId = default(string); } } else { this.SalesRepresentativeId = e.SalesRepresentativeId; } if (e.BusinessPartnerId == null) { if (e.IsPropertyBusinessPartnerIdRemoved) { this.BusinessPartnerId = default(string); } } else { this.BusinessPartnerId = e.BusinessPartnerId; } if (e.ChargeAmount == null) { if (e.IsPropertyChargeAmountRemoved) { this.ChargeAmount = default(decimal); } } else { this.ChargeAmount = (e.ChargeAmount != null && e.ChargeAmount.HasValue) ? e.ChargeAmount.Value : default(decimal); } if (e.CreateFrom == null) { if (e.IsPropertyCreateFromRemoved) { this.CreateFrom = default(string); } } else { this.CreateFrom = e.CreateFrom; } if (e.FreightAmount == null) { if (e.IsPropertyFreightAmountRemoved) { this.FreightAmount = default(decimal); } } else { this.FreightAmount = (e.FreightAmount != null && e.FreightAmount.HasValue) ? e.FreightAmount.Value : default(decimal); } if (e.ReversalDocumentNumber == null) { if (e.IsPropertyReversalDocumentNumberRemoved) { this.ReversalDocumentNumber = default(string); } } else { this.ReversalDocumentNumber = e.ReversalDocumentNumber; } if (e.WarehouseIdFrom == null) { if (e.IsPropertyWarehouseIdFromRemoved) { this.WarehouseIdFrom = default(string); } } else { this.WarehouseIdFrom = e.WarehouseIdFrom; } if (e.WarehouseIdTo == null) { if (e.IsPropertyWarehouseIdToRemoved) { this.WarehouseIdTo = default(string); } } else { this.WarehouseIdTo = e.WarehouseIdTo; } if (e.Description == null) { if (e.IsPropertyDescriptionRemoved) { this.Description = default(string); } } else { this.Description = e.Description; } 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 (IMovementLineEvent innerEvent in e.MovementLineEvents) { IMovementLineState innerState = this.MovementLines.Get(innerEvent.GlobalId.LineNumber); innerState.Mutate(innerEvent); var removed = innerEvent as IMovementLineStateRemoved; if (removed != null) { this.MovementLines.Remove(innerState); } } }
protected virtual IMovementStateMergePatched Map(IMergePatchMovement c) { var stateEventId = new MovementEventId(c.DocumentNumber, c.Version); IMovementStateMergePatched e = NewMovementStateMergePatched(stateEventId); e.MovementDate = c.MovementDate; e.Posted = c.Posted; e.Processed = c.Processed; e.Processing = c.Processing; e.DateReceived = c.DateReceived; e.DocumentTypeId = c.DocumentTypeId; e.IsInTransit = c.IsInTransit; e.IsApproved = c.IsApproved; e.ApprovalAmount = c.ApprovalAmount; e.ShipperId = c.ShipperId; e.SalesRepresentativeId = c.SalesRepresentativeId; e.BusinessPartnerId = c.BusinessPartnerId; e.ChargeAmount = c.ChargeAmount; e.CreateFrom = c.CreateFrom; e.FreightAmount = c.FreightAmount; e.ReversalDocumentNumber = c.ReversalDocumentNumber; e.WarehouseIdFrom = c.WarehouseIdFrom; e.WarehouseIdTo = c.WarehouseIdTo; e.Description = c.Description; e.Active = c.Active; e.IsPropertyMovementDateRemoved = c.IsPropertyMovementDateRemoved; e.IsPropertyPostedRemoved = c.IsPropertyPostedRemoved; e.IsPropertyProcessedRemoved = c.IsPropertyProcessedRemoved; e.IsPropertyProcessingRemoved = c.IsPropertyProcessingRemoved; e.IsPropertyDateReceivedRemoved = c.IsPropertyDateReceivedRemoved; e.IsPropertyDocumentTypeIdRemoved = c.IsPropertyDocumentTypeIdRemoved; e.IsPropertyIsInTransitRemoved = c.IsPropertyIsInTransitRemoved; e.IsPropertyIsApprovedRemoved = c.IsPropertyIsApprovedRemoved; e.IsPropertyApprovalAmountRemoved = c.IsPropertyApprovalAmountRemoved; e.IsPropertyShipperIdRemoved = c.IsPropertyShipperIdRemoved; e.IsPropertySalesRepresentativeIdRemoved = c.IsPropertySalesRepresentativeIdRemoved; e.IsPropertyBusinessPartnerIdRemoved = c.IsPropertyBusinessPartnerIdRemoved; e.IsPropertyChargeAmountRemoved = c.IsPropertyChargeAmountRemoved; e.IsPropertyCreateFromRemoved = c.IsPropertyCreateFromRemoved; e.IsPropertyFreightAmountRemoved = c.IsPropertyFreightAmountRemoved; e.IsPropertyReversalDocumentNumberRemoved = c.IsPropertyReversalDocumentNumberRemoved; e.IsPropertyWarehouseIdFromRemoved = c.IsPropertyWarehouseIdFromRemoved; e.IsPropertyWarehouseIdToRemoved = c.IsPropertyWarehouseIdToRemoved; e.IsPropertyDescriptionRemoved = c.IsPropertyDescriptionRemoved; 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 (IMovementLineCommand innerCommand in c.MovementLineCommands) { ThrowOnInconsistentCommands(c, innerCommand); IMovementLineEvent innerEvent = Map(innerCommand, c, version, _state); e.AddMovementLineEvent(innerEvent); } return(e); }
void IMovementState.When(IMovementStateMergePatched e) { throw new NotSupportedException(); }