예제 #1
0
        protected virtual IInOutStateCreated Map(ICreateInOut c)
        {
            var stateEventId     = new InOutEventId(c.DocumentNumber, c.Version);
            IInOutStateCreated e = NewInOutStateCreated(stateEventId);

            NewInOutDocumentActionCommandAndExecute(c, _state, e);
            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.CommandId              = c.CommandId;


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

            foreach (ICreateInOutLine innerCommand in c.InOutLines)
            {
                ThrowOnInconsistentCommands(c, innerCommand);

                IInOutLineStateCreated innerEvent = MapCreate(innerCommand, c, version, _state);
                e.AddInOutLineEvent(innerEvent);
            }


            return(e);
        }
예제 #2
0
        protected InOutStateMergePatched NewInOutStateMergePatched(long version, string commandId, string requesterId)
        {
            var stateEventId = new InOutEventId(_state.DocumentNumber, version);
            var e            = NewInOutStateMergePatched(stateEventId);

            e.CommandId = commandId;

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

            return(e);
        }
예제 #3
0
        public override bool Equals(object obj)
        {
            if (Object.ReferenceEquals(this, obj))
            {
                return(true);
            }

            InOutEventId other = obj as InOutEventId;

            if (other == null)
            {
                return(false);
            }

            return(true &&
                   Object.Equals(this.DocumentNumber, other.DocumentNumber) &&
                   Object.Equals(this.Version, other.Version)
                   );
        }
예제 #4
0
 protected InOutStateEventDtoBase(InOutEventId stateEventId)
 {
     this.InOutEventId = stateEventId;
 }
예제 #5
0
 private InOutStateMergePatched NewInOutStateMergePatched(InOutEventId stateEventId)
 {
     return(new InOutStateMergePatched(stateEventId));
 }
예제 #6
0
////////////////////////

        private InOutStateCreated NewInOutStateCreated(InOutEventId stateEventId)
        {
            return(new InOutStateCreated(stateEventId));
        }
예제 #7
0
파일: InOutEvent.cs 프로젝트: uwitec/wms-8
 public InOutStateMergePatched(InOutEventId stateEventId) : base(stateEventId)
 {
 }
예제 #8
0
파일: InOutEvent.cs 프로젝트: uwitec/wms-8
 public InOutStateCreated(InOutEventId stateEventId) : base(stateEventId)
 {
 }
예제 #9
0
파일: InOutEvent.cs 프로젝트: uwitec/wms-8
 protected InOutStateEventBase(InOutEventId stateEventId) : base(stateEventId)
 {
 }