Esempio n. 1
0
        private void UpdateShipment(ShipmentCommands.ReceiveItem c, ICreateOrMergePatchOrRemoveShipmentReceipt updateReceipt)
        {
            var updateShipment = new MergePatchShipment();

            updateShipment.ShipmentReceiptCommands.Add(updateReceipt);
            updateShipment.ShipmentId  = c.ShipmentId;
            updateShipment.Version     = c.Version;
            updateShipment.CommandId   = c.CommandId;
            updateShipment.RequesterId = c.RequesterId;
            When(updateShipment);
        }
Esempio n. 2
0
        private void ReceiveAllItems(string shipmentId)
        {
            var shipmentState = shipmentApplicationService.Get(shipmentId);
            var version       = shipmentState.Version;

            foreach (var item in shipmentState.ShipmentItems)
            {
                var receiveItem = new ShipmentCommands.ReceiveItem();
                receiveItem.ShipmentId        = shipmentId;
                receiveItem.ShipmentItemSeqId = item.ShipmentItemSeqId;
                receiveItem.AcceptedQuantity  = item.Quantity;
                receiveItem.RejectedQuantity  = 0;
                receiveItem.DamagedQuantity   = 0;

                if (!String.IsNullOrWhiteSpace(item.AttributeSetInstanceId))
                {
                    var srcAttrSetInst = attributeSetInstanceApplicationService.Get(item.AttributeSetInstanceId);
                    var rollId         = srcAttrSetInst.SerialNumber;

                    var attrSetInst_1 = new Dictionary <string, object>();
                    // //////////////////////////////////
                    attrSetInst_1.Add("SerialNumber", rollId);
                    //attrSetInst_1.Add("WidthInch", (decimal)17.75);
                    //attrSetInst_1.Add("DiameterInch", 48.00);
                    //attrSetInst_1.Add("WeightLbs", (decimal)1678);
                    attrSetInst_1.Add("WeightKg", (TestWeightKg - (decimal)0.001));
                    //attrSetInst_1.Add("AirDryWeightLbs", (decimal)1705.682);
                    //attrSetInst_1.Add("AirDryWeightKg", (decimal)773.684);
                    //attrSetInst_1.Add("AirDryMetricTon", (decimal)0.774);
                    //attrSetInst_1.Add("PackageCount", 2);
                    //attrSetInst_1.Add("AirDryPct", (decimal)101.650);
                    // //////////////////////////////////
                    receiveItem.AttributeSetInstance = attrSetInst_1;
                }

                receiveItem.CommandId = Guid.NewGuid().ToString();
                receiveItem.Version   = version;
                shipmentApplicationService.When(receiveItem);

                version++;
            }
        }
Esempio n. 3
0
        public override void When(ShipmentCommands.ReceiveItem c)
        {
            var shipment     = AssertShipmentStatus(c.ShipmentId, StatusItemIds.PurchShipShipped);
            var shipmentItem = shipment.ShipmentItems.Get(c.ShipmentItemSeqId);

            if (shipmentItem == null)
            {
                throw new ArgumentException(String.Format("CANNOT get shipment item. ShipmentItemSeqId: {0}", c.ShipmentItemSeqId));
            }
            if (shipmentItem.Quantity != c.AcceptedQuantity + c.RejectedQuantity)
            {
                throw new ArgumentException(String.Format("shipmentItem.Quantity != c.AcceptedQuantity + c.RejectedQuantity. {0} != {1} + {2}"
                                                          , shipmentItem.Quantity, c.AcceptedQuantity, c.RejectedQuantity));
            }

            // ////////////////////////////////////////////////////
            ICreateOrMergePatchOrRemoveShipmentReceipt updateReceipt = CreateOrUpdateShipmentReceipt(c, shipment, shipmentItem);

            // ////////////////////////////////////////////////////
            UpdateShipment(c, updateReceipt);
        }
Esempio n. 4
0
        private ICreateOrMergePatchOrRemoveShipmentReceipt CreateOrUpdateShipmentReceipt(ShipmentCommands.ReceiveItem c, IShipmentState shipment, IShipmentItemState shipmentItem)
        {
            ICreateOrMergePatchOrRemoveShipmentReceipt updateReceipt = null;
            var receiptSeqId = c.ShipmentItemSeqId;
            var receipt      = shipment.ShipmentReceipts.Get(receiptSeqId, false, true);

            if (receipt == null)
            {
                updateReceipt = new CreateShipmentReceipt();
            }
            else
            {
                updateReceipt = new MergePatchShipmentReceipt();
            }

            var prdState = GetProductState(shipmentItem.ProductId);

            string attrSetInstId = AttributeSetInstanceUtils.CreateAttributeSetInstance(AttributeSetService, AttributeSetInstanceApplicationService,
                                                                                        prdState.AttributeSetId, c.AttributeSetInstance);

            if (_log.IsDebugEnabled)
            {
                _log.Debug("Create attribute set instance, id: " + attrSetInstId);
            }

            updateReceipt.AttributeSetInstanceId = attrSetInstId;

            updateReceipt.ReceiptSeqId      = receiptSeqId;
            updateReceipt.ShipmentItemSeqId = shipmentItem.ShipmentItemSeqId;
            updateReceipt.ProductId         = shipmentItem.ProductId;
            updateReceipt.AcceptedQuantity  = c.AcceptedQuantity;
            updateReceipt.RejectedQuantity  = c.RejectedQuantity;
            updateReceipt.DamagedQuantity   = c.DamagedQuantity;
            updateReceipt.DamageStatusIds   = c.DamageStatusIds;
            updateReceipt.DamageReasonId    = c.DamageReasonId;
            updateReceipt.ReceivedBy        = c.RequesterId;
            return(updateReceipt);
        }
 public void When(ShipmentCommands.ReceiveItem c)
 {
     throw new NotImplementedException();//todo
 }