void IMovementLineMvoState.When(IMovementLineMvoStateMergePatched e)
 {
     throw new NotSupportedException();
 }
Exemple #2
0
        public virtual MovementLineMvoStateMergePatchedDto ToMovementLineMvoStateMergePatchedDto(IMovementLineMvoStateMergePatched e)
        {
            var dto = new MovementLineMvoStateMergePatchedDto();

            dto.MovementLineMvoEventId = e.MovementLineMvoEventId;
            dto.CreatedAt              = e.CreatedAt;
            dto.CreatedBy              = e.CreatedBy;
            dto.CommandId              = e.CommandId;
            dto.MovementQuantity       = e.MovementQuantity;
            dto.ProductId              = e.ProductId;
            dto.LocatorIdFrom          = e.LocatorIdFrom;
            dto.LocatorIdTo            = e.LocatorIdTo;
            dto.AttributeSetInstanceId = e.AttributeSetInstanceId;
            dto.Processed              = e.Processed;
            dto.ReversalLineNumber     = e.ReversalLineNumber;
            dto.Version = e.Version;
            dto.Active  = e.Active;
            dto.MovementDocumentStatusId                        = e.MovementDocumentStatusId;
            dto.MovementMovementDate                            = e.MovementMovementDate;
            dto.MovementPosted                                  = e.MovementPosted;
            dto.MovementProcessed                               = e.MovementProcessed;
            dto.MovementProcessing                              = e.MovementProcessing;
            dto.MovementDateReceived                            = e.MovementDateReceived;
            dto.MovementDocumentTypeId                          = e.MovementDocumentTypeId;
            dto.MovementIsInTransit                             = e.MovementIsInTransit;
            dto.MovementIsApproved                              = e.MovementIsApproved;
            dto.MovementApprovalAmount                          = e.MovementApprovalAmount;
            dto.MovementShipperId                               = e.MovementShipperId;
            dto.MovementSalesRepresentativeId                   = e.MovementSalesRepresentativeId;
            dto.MovementBusinessPartnerId                       = e.MovementBusinessPartnerId;
            dto.MovementChargeAmount                            = e.MovementChargeAmount;
            dto.MovementCreateFrom                              = e.MovementCreateFrom;
            dto.MovementFreightAmount                           = e.MovementFreightAmount;
            dto.MovementReversalDocumentNumber                  = e.MovementReversalDocumentNumber;
            dto.MovementWarehouseIdFrom                         = e.MovementWarehouseIdFrom;
            dto.MovementWarehouseIdTo                           = e.MovementWarehouseIdTo;
            dto.MovementDescription                             = e.MovementDescription;
            dto.MovementCreatedBy                               = e.MovementCreatedBy;
            dto.MovementCreatedAt                               = e.MovementCreatedAt;
            dto.MovementUpdatedBy                               = e.MovementUpdatedBy;
            dto.MovementUpdatedAt                               = e.MovementUpdatedAt;
            dto.MovementActive                                  = e.MovementActive;
            dto.MovementDeleted                                 = e.MovementDeleted;
            dto.IsPropertyMovementQuantityRemoved               = e.IsPropertyMovementQuantityRemoved;
            dto.IsPropertyProductIdRemoved                      = e.IsPropertyProductIdRemoved;
            dto.IsPropertyLocatorIdFromRemoved                  = e.IsPropertyLocatorIdFromRemoved;
            dto.IsPropertyLocatorIdToRemoved                    = e.IsPropertyLocatorIdToRemoved;
            dto.IsPropertyAttributeSetInstanceIdRemoved         = e.IsPropertyAttributeSetInstanceIdRemoved;
            dto.IsPropertyProcessedRemoved                      = e.IsPropertyProcessedRemoved;
            dto.IsPropertyReversalLineNumberRemoved             = e.IsPropertyReversalLineNumberRemoved;
            dto.IsPropertyVersionRemoved                        = e.IsPropertyVersionRemoved;
            dto.IsPropertyActiveRemoved                         = e.IsPropertyActiveRemoved;
            dto.IsPropertyMovementDocumentStatusIdRemoved       = e.IsPropertyMovementDocumentStatusIdRemoved;
            dto.IsPropertyMovementMovementDateRemoved           = e.IsPropertyMovementMovementDateRemoved;
            dto.IsPropertyMovementPostedRemoved                 = e.IsPropertyMovementPostedRemoved;
            dto.IsPropertyMovementProcessedRemoved              = e.IsPropertyMovementProcessedRemoved;
            dto.IsPropertyMovementProcessingRemoved             = e.IsPropertyMovementProcessingRemoved;
            dto.IsPropertyMovementDateReceivedRemoved           = e.IsPropertyMovementDateReceivedRemoved;
            dto.IsPropertyMovementDocumentTypeIdRemoved         = e.IsPropertyMovementDocumentTypeIdRemoved;
            dto.IsPropertyMovementIsInTransitRemoved            = e.IsPropertyMovementIsInTransitRemoved;
            dto.IsPropertyMovementIsApprovedRemoved             = e.IsPropertyMovementIsApprovedRemoved;
            dto.IsPropertyMovementApprovalAmountRemoved         = e.IsPropertyMovementApprovalAmountRemoved;
            dto.IsPropertyMovementShipperIdRemoved              = e.IsPropertyMovementShipperIdRemoved;
            dto.IsPropertyMovementSalesRepresentativeIdRemoved  = e.IsPropertyMovementSalesRepresentativeIdRemoved;
            dto.IsPropertyMovementBusinessPartnerIdRemoved      = e.IsPropertyMovementBusinessPartnerIdRemoved;
            dto.IsPropertyMovementChargeAmountRemoved           = e.IsPropertyMovementChargeAmountRemoved;
            dto.IsPropertyMovementCreateFromRemoved             = e.IsPropertyMovementCreateFromRemoved;
            dto.IsPropertyMovementFreightAmountRemoved          = e.IsPropertyMovementFreightAmountRemoved;
            dto.IsPropertyMovementReversalDocumentNumberRemoved = e.IsPropertyMovementReversalDocumentNumberRemoved;
            dto.IsPropertyMovementWarehouseIdFromRemoved        = e.IsPropertyMovementWarehouseIdFromRemoved;
            dto.IsPropertyMovementWarehouseIdToRemoved          = e.IsPropertyMovementWarehouseIdToRemoved;
            dto.IsPropertyMovementDescriptionRemoved            = e.IsPropertyMovementDescriptionRemoved;
            dto.IsPropertyMovementCreatedByRemoved              = e.IsPropertyMovementCreatedByRemoved;
            dto.IsPropertyMovementCreatedAtRemoved              = e.IsPropertyMovementCreatedAtRemoved;
            dto.IsPropertyMovementUpdatedByRemoved              = e.IsPropertyMovementUpdatedByRemoved;
            dto.IsPropertyMovementUpdatedAtRemoved              = e.IsPropertyMovementUpdatedAtRemoved;
            dto.IsPropertyMovementActiveRemoved                 = e.IsPropertyMovementActiveRemoved;
            dto.IsPropertyMovementDeletedRemoved                = e.IsPropertyMovementDeletedRemoved;

            return(dto);
        }
        public virtual void MergePatch(IMergePatchMovementLineMvo c)
        {
            IMovementLineMvoStateMergePatched e = Map(c);

            Apply(e);
        }
Exemple #4
0
        public virtual void When(IMovementLineMvoStateMergePatched e)
        {
            ThrowOnWrongEvent(e);

            if (e.MovementQuantity == null)
            {
                if (e.IsPropertyMovementQuantityRemoved)
                {
                    this.MovementQuantity = default(decimal);
                }
            }
            else
            {
                this.MovementQuantity = (e.MovementQuantity != null && e.MovementQuantity.HasValue) ? e.MovementQuantity.Value : default(decimal);
            }

            if (e.ProductId == null)
            {
                if (e.IsPropertyProductIdRemoved)
                {
                    this.ProductId = default(string);
                }
            }
            else
            {
                this.ProductId = e.ProductId;
            }

            if (e.LocatorIdFrom == null)
            {
                if (e.IsPropertyLocatorIdFromRemoved)
                {
                    this.LocatorIdFrom = default(string);
                }
            }
            else
            {
                this.LocatorIdFrom = e.LocatorIdFrom;
            }

            if (e.LocatorIdTo == null)
            {
                if (e.IsPropertyLocatorIdToRemoved)
                {
                    this.LocatorIdTo = default(string);
                }
            }
            else
            {
                this.LocatorIdTo = e.LocatorIdTo;
            }

            if (e.AttributeSetInstanceId == null)
            {
                if (e.IsPropertyAttributeSetInstanceIdRemoved)
                {
                    this.AttributeSetInstanceId = default(string);
                }
            }
            else
            {
                this.AttributeSetInstanceId = e.AttributeSetInstanceId;
            }

            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.ReversalLineNumber == null)
            {
                if (e.IsPropertyReversalLineNumberRemoved)
                {
                    this.ReversalLineNumber = default(string);
                }
            }
            else
            {
                this.ReversalLineNumber = e.ReversalLineNumber;
            }

            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.Active == null)
            {
                if (e.IsPropertyActiveRemoved)
                {
                    this.Active = default(bool);
                }
            }
            else
            {
                this.Active = (e.Active != null && e.Active.HasValue) ? e.Active.Value : default(bool);
            }

            if (e.MovementDocumentStatusId == null)
            {
                if (e.IsPropertyMovementDocumentStatusIdRemoved)
                {
                    this.MovementDocumentStatusId = default(string);
                }
            }
            else
            {
                this.MovementDocumentStatusId = e.MovementDocumentStatusId;
            }

            if (e.MovementMovementDate == null)
            {
                if (e.IsPropertyMovementMovementDateRemoved)
                {
                    this.MovementMovementDate = default(DateTime);
                }
            }
            else
            {
                this.MovementMovementDate = (e.MovementMovementDate != null && e.MovementMovementDate.HasValue) ? e.MovementMovementDate.Value : default(DateTime);
            }

            if (e.MovementPosted == null)
            {
                if (e.IsPropertyMovementPostedRemoved)
                {
                    this.MovementPosted = default(bool);
                }
            }
            else
            {
                this.MovementPosted = (e.MovementPosted != null && e.MovementPosted.HasValue) ? e.MovementPosted.Value : default(bool);
            }

            if (e.MovementProcessed == null)
            {
                if (e.IsPropertyMovementProcessedRemoved)
                {
                    this.MovementProcessed = default(bool);
                }
            }
            else
            {
                this.MovementProcessed = (e.MovementProcessed != null && e.MovementProcessed.HasValue) ? e.MovementProcessed.Value : default(bool);
            }

            if (e.MovementProcessing == null)
            {
                if (e.IsPropertyMovementProcessingRemoved)
                {
                    this.MovementProcessing = default(string);
                }
            }
            else
            {
                this.MovementProcessing = e.MovementProcessing;
            }

            if (e.MovementDateReceived == null)
            {
                if (e.IsPropertyMovementDateReceivedRemoved)
                {
                    this.MovementDateReceived = default(DateTime);
                }
            }
            else
            {
                this.MovementDateReceived = (e.MovementDateReceived != null && e.MovementDateReceived.HasValue) ? e.MovementDateReceived.Value : default(DateTime);
            }

            if (e.MovementDocumentTypeId == null)
            {
                if (e.IsPropertyMovementDocumentTypeIdRemoved)
                {
                    this.MovementDocumentTypeId = default(string);
                }
            }
            else
            {
                this.MovementDocumentTypeId = e.MovementDocumentTypeId;
            }

            if (e.MovementIsInTransit == null)
            {
                if (e.IsPropertyMovementIsInTransitRemoved)
                {
                    this.MovementIsInTransit = default(bool);
                }
            }
            else
            {
                this.MovementIsInTransit = (e.MovementIsInTransit != null && e.MovementIsInTransit.HasValue) ? e.MovementIsInTransit.Value : default(bool);
            }

            if (e.MovementIsApproved == null)
            {
                if (e.IsPropertyMovementIsApprovedRemoved)
                {
                    this.MovementIsApproved = default(bool);
                }
            }
            else
            {
                this.MovementIsApproved = (e.MovementIsApproved != null && e.MovementIsApproved.HasValue) ? e.MovementIsApproved.Value : default(bool);
            }

            if (e.MovementApprovalAmount == null)
            {
                if (e.IsPropertyMovementApprovalAmountRemoved)
                {
                    this.MovementApprovalAmount = default(decimal);
                }
            }
            else
            {
                this.MovementApprovalAmount = (e.MovementApprovalAmount != null && e.MovementApprovalAmount.HasValue) ? e.MovementApprovalAmount.Value : default(decimal);
            }

            if (e.MovementShipperId == null)
            {
                if (e.IsPropertyMovementShipperIdRemoved)
                {
                    this.MovementShipperId = default(string);
                }
            }
            else
            {
                this.MovementShipperId = e.MovementShipperId;
            }

            if (e.MovementSalesRepresentativeId == null)
            {
                if (e.IsPropertyMovementSalesRepresentativeIdRemoved)
                {
                    this.MovementSalesRepresentativeId = default(string);
                }
            }
            else
            {
                this.MovementSalesRepresentativeId = e.MovementSalesRepresentativeId;
            }

            if (e.MovementBusinessPartnerId == null)
            {
                if (e.IsPropertyMovementBusinessPartnerIdRemoved)
                {
                    this.MovementBusinessPartnerId = default(string);
                }
            }
            else
            {
                this.MovementBusinessPartnerId = e.MovementBusinessPartnerId;
            }

            if (e.MovementChargeAmount == null)
            {
                if (e.IsPropertyMovementChargeAmountRemoved)
                {
                    this.MovementChargeAmount = default(decimal);
                }
            }
            else
            {
                this.MovementChargeAmount = (e.MovementChargeAmount != null && e.MovementChargeAmount.HasValue) ? e.MovementChargeAmount.Value : default(decimal);
            }

            if (e.MovementCreateFrom == null)
            {
                if (e.IsPropertyMovementCreateFromRemoved)
                {
                    this.MovementCreateFrom = default(string);
                }
            }
            else
            {
                this.MovementCreateFrom = e.MovementCreateFrom;
            }

            if (e.MovementFreightAmount == null)
            {
                if (e.IsPropertyMovementFreightAmountRemoved)
                {
                    this.MovementFreightAmount = default(decimal);
                }
            }
            else
            {
                this.MovementFreightAmount = (e.MovementFreightAmount != null && e.MovementFreightAmount.HasValue) ? e.MovementFreightAmount.Value : default(decimal);
            }

            if (e.MovementReversalDocumentNumber == null)
            {
                if (e.IsPropertyMovementReversalDocumentNumberRemoved)
                {
                    this.MovementReversalDocumentNumber = default(string);
                }
            }
            else
            {
                this.MovementReversalDocumentNumber = e.MovementReversalDocumentNumber;
            }

            if (e.MovementWarehouseIdFrom == null)
            {
                if (e.IsPropertyMovementWarehouseIdFromRemoved)
                {
                    this.MovementWarehouseIdFrom = default(string);
                }
            }
            else
            {
                this.MovementWarehouseIdFrom = e.MovementWarehouseIdFrom;
            }

            if (e.MovementWarehouseIdTo == null)
            {
                if (e.IsPropertyMovementWarehouseIdToRemoved)
                {
                    this.MovementWarehouseIdTo = default(string);
                }
            }
            else
            {
                this.MovementWarehouseIdTo = e.MovementWarehouseIdTo;
            }

            if (e.MovementDescription == null)
            {
                if (e.IsPropertyMovementDescriptionRemoved)
                {
                    this.MovementDescription = default(string);
                }
            }
            else
            {
                this.MovementDescription = e.MovementDescription;
            }

            if (e.MovementCreatedBy == null)
            {
                if (e.IsPropertyMovementCreatedByRemoved)
                {
                    this.MovementCreatedBy = default(string);
                }
            }
            else
            {
                this.MovementCreatedBy = e.MovementCreatedBy;
            }

            if (e.MovementCreatedAt == null)
            {
                if (e.IsPropertyMovementCreatedAtRemoved)
                {
                    this.MovementCreatedAt = default(DateTime);
                }
            }
            else
            {
                this.MovementCreatedAt = (e.MovementCreatedAt != null && e.MovementCreatedAt.HasValue) ? e.MovementCreatedAt.Value : default(DateTime);
            }

            if (e.MovementUpdatedBy == null)
            {
                if (e.IsPropertyMovementUpdatedByRemoved)
                {
                    this.MovementUpdatedBy = default(string);
                }
            }
            else
            {
                this.MovementUpdatedBy = e.MovementUpdatedBy;
            }

            if (e.MovementUpdatedAt == null)
            {
                if (e.IsPropertyMovementUpdatedAtRemoved)
                {
                    this.MovementUpdatedAt = default(DateTime);
                }
            }
            else
            {
                this.MovementUpdatedAt = (e.MovementUpdatedAt != null && e.MovementUpdatedAt.HasValue) ? e.MovementUpdatedAt.Value : default(DateTime);
            }

            if (e.MovementActive == null)
            {
                if (e.IsPropertyMovementActiveRemoved)
                {
                    this.MovementActive = default(bool);
                }
            }
            else
            {
                this.MovementActive = (e.MovementActive != null && e.MovementActive.HasValue) ? e.MovementActive.Value : default(bool);
            }

            if (e.MovementDeleted == null)
            {
                if (e.IsPropertyMovementDeletedRemoved)
                {
                    this.MovementDeleted = default(bool);
                }
            }
            else
            {
                this.MovementDeleted = (e.MovementDeleted != null && e.MovementDeleted.HasValue) ? e.MovementDeleted.Value : default(bool);
            }


            this.UpdatedBy = e.CreatedBy;
            this.UpdatedAt = e.CreatedAt;
        }
        protected virtual IMovementLineMvoStateMergePatched Map(IMergePatchMovementLineMvo c)
        {
            var stateEventId = new MovementLineMvoEventId(c.MovementLineId, c.MovementVersion);
            IMovementLineMvoStateMergePatched e = NewMovementLineMvoStateMergePatched(stateEventId);

            e.MovementQuantity       = c.MovementQuantity;
            e.ProductId              = c.ProductId;
            e.LocatorIdFrom          = c.LocatorIdFrom;
            e.LocatorIdTo            = c.LocatorIdTo;
            e.AttributeSetInstanceId = c.AttributeSetInstanceId;
            e.Processed              = c.Processed;
            e.ReversalLineNumber     = c.ReversalLineNumber;
            e.Version = c.Version;
            e.Active  = c.Active;
            e.MovementDocumentStatusId                        = c.MovementDocumentStatusId;
            e.MovementMovementDate                            = c.MovementMovementDate;
            e.MovementPosted                                  = c.MovementPosted;
            e.MovementProcessed                               = c.MovementProcessed;
            e.MovementProcessing                              = c.MovementProcessing;
            e.MovementDateReceived                            = c.MovementDateReceived;
            e.MovementDocumentTypeId                          = c.MovementDocumentTypeId;
            e.MovementIsInTransit                             = c.MovementIsInTransit;
            e.MovementIsApproved                              = c.MovementIsApproved;
            e.MovementApprovalAmount                          = c.MovementApprovalAmount;
            e.MovementShipperId                               = c.MovementShipperId;
            e.MovementSalesRepresentativeId                   = c.MovementSalesRepresentativeId;
            e.MovementBusinessPartnerId                       = c.MovementBusinessPartnerId;
            e.MovementChargeAmount                            = c.MovementChargeAmount;
            e.MovementCreateFrom                              = c.MovementCreateFrom;
            e.MovementFreightAmount                           = c.MovementFreightAmount;
            e.MovementReversalDocumentNumber                  = c.MovementReversalDocumentNumber;
            e.MovementWarehouseIdFrom                         = c.MovementWarehouseIdFrom;
            e.MovementWarehouseIdTo                           = c.MovementWarehouseIdTo;
            e.MovementDescription                             = c.MovementDescription;
            e.MovementCreatedBy                               = c.MovementCreatedBy;
            e.MovementCreatedAt                               = c.MovementCreatedAt;
            e.MovementUpdatedBy                               = c.MovementUpdatedBy;
            e.MovementUpdatedAt                               = c.MovementUpdatedAt;
            e.MovementActive                                  = c.MovementActive;
            e.MovementDeleted                                 = c.MovementDeleted;
            e.IsPropertyMovementQuantityRemoved               = c.IsPropertyMovementQuantityRemoved;
            e.IsPropertyProductIdRemoved                      = c.IsPropertyProductIdRemoved;
            e.IsPropertyLocatorIdFromRemoved                  = c.IsPropertyLocatorIdFromRemoved;
            e.IsPropertyLocatorIdToRemoved                    = c.IsPropertyLocatorIdToRemoved;
            e.IsPropertyAttributeSetInstanceIdRemoved         = c.IsPropertyAttributeSetInstanceIdRemoved;
            e.IsPropertyProcessedRemoved                      = c.IsPropertyProcessedRemoved;
            e.IsPropertyReversalLineNumberRemoved             = c.IsPropertyReversalLineNumberRemoved;
            e.IsPropertyVersionRemoved                        = c.IsPropertyVersionRemoved;
            e.IsPropertyActiveRemoved                         = c.IsPropertyActiveRemoved;
            e.IsPropertyMovementDocumentStatusIdRemoved       = c.IsPropertyMovementDocumentStatusIdRemoved;
            e.IsPropertyMovementMovementDateRemoved           = c.IsPropertyMovementMovementDateRemoved;
            e.IsPropertyMovementPostedRemoved                 = c.IsPropertyMovementPostedRemoved;
            e.IsPropertyMovementProcessedRemoved              = c.IsPropertyMovementProcessedRemoved;
            e.IsPropertyMovementProcessingRemoved             = c.IsPropertyMovementProcessingRemoved;
            e.IsPropertyMovementDateReceivedRemoved           = c.IsPropertyMovementDateReceivedRemoved;
            e.IsPropertyMovementDocumentTypeIdRemoved         = c.IsPropertyMovementDocumentTypeIdRemoved;
            e.IsPropertyMovementIsInTransitRemoved            = c.IsPropertyMovementIsInTransitRemoved;
            e.IsPropertyMovementIsApprovedRemoved             = c.IsPropertyMovementIsApprovedRemoved;
            e.IsPropertyMovementApprovalAmountRemoved         = c.IsPropertyMovementApprovalAmountRemoved;
            e.IsPropertyMovementShipperIdRemoved              = c.IsPropertyMovementShipperIdRemoved;
            e.IsPropertyMovementSalesRepresentativeIdRemoved  = c.IsPropertyMovementSalesRepresentativeIdRemoved;
            e.IsPropertyMovementBusinessPartnerIdRemoved      = c.IsPropertyMovementBusinessPartnerIdRemoved;
            e.IsPropertyMovementChargeAmountRemoved           = c.IsPropertyMovementChargeAmountRemoved;
            e.IsPropertyMovementCreateFromRemoved             = c.IsPropertyMovementCreateFromRemoved;
            e.IsPropertyMovementFreightAmountRemoved          = c.IsPropertyMovementFreightAmountRemoved;
            e.IsPropertyMovementReversalDocumentNumberRemoved = c.IsPropertyMovementReversalDocumentNumberRemoved;
            e.IsPropertyMovementWarehouseIdFromRemoved        = c.IsPropertyMovementWarehouseIdFromRemoved;
            e.IsPropertyMovementWarehouseIdToRemoved          = c.IsPropertyMovementWarehouseIdToRemoved;
            e.IsPropertyMovementDescriptionRemoved            = c.IsPropertyMovementDescriptionRemoved;
            e.IsPropertyMovementCreatedByRemoved              = c.IsPropertyMovementCreatedByRemoved;
            e.IsPropertyMovementCreatedAtRemoved              = c.IsPropertyMovementCreatedAtRemoved;
            e.IsPropertyMovementUpdatedByRemoved              = c.IsPropertyMovementUpdatedByRemoved;
            e.IsPropertyMovementUpdatedAtRemoved              = c.IsPropertyMovementUpdatedAtRemoved;
            e.IsPropertyMovementActiveRemoved                 = c.IsPropertyMovementActiveRemoved;
            e.IsPropertyMovementDeletedRemoved                = c.IsPropertyMovementDeletedRemoved;

            e.CommandId = c.CommandId;


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

            var movementVersion = c.MovementVersion;


            return(e);
        }