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); }
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++; } }
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); }
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 }