예제 #1
0
        protected virtual IInOutStateCreated Map(ICreateInOut c)
        {
            var stateEventId     = new InOutStateEventId(c.DocumentNumber, c.Version);
            IInOutStateCreated e = NewInOutStateCreated(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;
            ReflectUtils.CopyPropertyValue("CommandId", c, e);


            e.CreatedBy = (string)c.RequesterId;
            e.CreatedAt = DateTime.Now;
            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 InOutStateDeleted NewInOutStateDeleted(string commandId, string requesterId)
        {
            var stateEventId = new InOutStateEventId(_state.DocumentNumber, ((IInOutStateProperties)_state).Version);
            var e            = NewInOutStateDeleted(stateEventId);

            e.CommandId = commandId;

            e.CreatedBy = (string)requesterId;
            e.CreatedAt = DateTime.Now;

            return(e);
        }
예제 #3
0
        protected virtual IInOutStateDeleted Map(IDeleteInOut c)
        {
            var stateEventId     = new InOutStateEventId(c.DocumentNumber, c.Version);
            IInOutStateDeleted e = NewInOutStateDeleted(stateEventId);

            ReflectUtils.CopyPropertyValue("CommandId", c, e);


            e.CreatedBy = (string)c.RequesterId;
            e.CreatedAt = DateTime.Now;


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

            InOutStateEventId other = obj as InOutStateEventId;

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

            return(true &&
                   Object.Equals(this.DocumentNumber, other.DocumentNumber) &&
                   Object.Equals(this.Version, other.Version)
                   );
        }
 public InOutStateEventIdFlattenedDto(InOutStateEventId val)
 {
     this._value = val;
 }
예제 #6
0
 public InOutStateDeleted(InOutStateEventId stateEventId) : base(stateEventId)
 {
 }
예제 #7
0
 public InOutStateMergePatched(InOutStateEventId stateEventId) : base(stateEventId)
 {
 }
예제 #8
0
 public InOutStateCreated(InOutStateEventId stateEventId) : base(stateEventId)
 {
 }
예제 #9
0
 protected InOutStateEventBase(InOutStateEventId stateEventId)
 {
     this.StateEventId = stateEventId;
 }
예제 #10
0
 private InOutStateDeleted NewInOutStateDeleted(InOutStateEventId stateEventId)
 {
     return(new InOutStateDeleted(stateEventId));
 }
예제 #11
0
 private InOutStateMergePatched NewInOutStateMergePatched(InOutStateEventId stateEventId)
 {
     return(new InOutStateMergePatched(stateEventId));
 }