コード例 #1
0
        public virtual void Initialize(IPhysicalInventoryStateCreated stateCreated)
        {
            var aggregateId = stateCreated.PhysicalInventoryEventId.DocumentNumber;
            var state       = new PhysicalInventoryState();

            state.DocumentNumber = aggregateId;
            var aggregate = (PhysicalInventoryAggregate)GetPhysicalInventoryAggregate(state);

            var eventStoreAggregateId = ToEventStoreAggregateId(aggregateId);

            aggregate.Apply(stateCreated);
            Persist(eventStoreAggregateId, aggregate, state);
        }
コード例 #2
0
 public static CreatePhysicalInventory ToCreatePhysicalInventory(this PhysicalInventoryState state)
 {
     return(state.ToCreatePhysicalInventory <CreatePhysicalInventory, CreatePhysicalInventoryLine>());
 }
コード例 #3
0
 public static MergePatchPhysicalInventory ToMergePatchPhysicalInventory(this PhysicalInventoryState state)
 {
     return(state.ToMergePatchPhysicalInventory <MergePatchPhysicalInventory, CreatePhysicalInventoryLine, MergePatchPhysicalInventoryLine>());
 }
コード例 #4
0
 public static DeletePhysicalInventory ToDeletePhysicalInventory(this PhysicalInventoryState state)
 {
     return(state.ToDeletePhysicalInventory <DeletePhysicalInventory>());
 }
コード例 #5
0
 public static IPhysicalInventoryCommand ToCreateOrMergePatchPhysicalInventory(this PhysicalInventoryState state)
 {
     return(state.ToCreateOrMergePatchPhysicalInventory <CreatePhysicalInventory, MergePatchPhysicalInventory, CreatePhysicalInventoryLine, MergePatchPhysicalInventoryLine>());
 }
コード例 #6
0
        public virtual IPhysicalInventoryState ToPhysicalInventoryState()
        {
            var state = new PhysicalInventoryState(true);

            state.DocumentNumber   = this.DocumentNumber;
            state.DocumentStatusId = this.DocumentStatusId;
            state.WarehouseId      = this.WarehouseId;
            state.LocatorIdPattern = this.LocatorIdPattern;
            state.ProductIdPattern = this.ProductIdPattern;
            if (this.Posted != null && this.Posted.HasValue)
            {
                state.Posted = this.Posted.Value;
            }
            if (this.Processed != null && this.Processed.HasValue)
            {
                state.Processed = this.Processed.Value;
            }
            state.Processing     = this.Processing;
            state.DocumentTypeId = this.DocumentTypeId;
            state.MovementDate   = this.MovementDate;
            state.Description    = this.Description;
            if (this.IsApproved != null && this.IsApproved.HasValue)
            {
                state.IsApproved = this.IsApproved.Value;
            }
            if (this.ApprovalAmount != null && this.ApprovalAmount.HasValue)
            {
                state.ApprovalAmount = this.ApprovalAmount.Value;
            }
            if (this.IsQuantityUpdated != null && this.IsQuantityUpdated.HasValue)
            {
                state.IsQuantityUpdated = this.IsQuantityUpdated.Value;
            }
            state.ReversalDocumentNumber = this.ReversalDocumentNumber;
            if (this.Active != null && this.Active.HasValue)
            {
                state.Active = this.Active.Value;
            }
            if (this.Version != null && this.Version.HasValue)
            {
                state.Version = this.Version.Value;
            }
            state.CreatedBy = this.CreatedBy;
            if (this.CreatedAt != null && this.CreatedAt.HasValue)
            {
                state.CreatedAt = this.CreatedAt.Value;
            }
            state.UpdatedBy = this.UpdatedBy;
            if (this.UpdatedAt != null && this.UpdatedAt.HasValue)
            {
                state.UpdatedAt = this.UpdatedAt.Value;
            }
            if (this.PhysicalInventoryLines != null)
            {
                foreach (var s in this.PhysicalInventoryLines)
                {
                    state.PhysicalInventoryLines.AddToSave(s.ToPhysicalInventoryLineState());
                }
            }
            ;

            return(state);
        }