/// <summary> /// Inventory Shipped /// </summary> /// <param name="transaction"></param> /// <returns></returns> private async Task InventoryShipped(TransactionQueueInbound transaction) { InventoryTransactionPayload payload = JsonConvert.DeserializeObject <InventoryTransactionPayload>(transaction.Payload); int productMasterId = payload.ProductId; Product product = await _salesOrderManagementDataService.GetProductInformationByProductMasterForUpdate(productMasterId); if (product != null) { product.OnHandQuantity = product.OnHandQuantity - payload.Quantity; product.CommittedQuantity = product.CommittedQuantity - payload.Quantity; await _salesOrderManagementDataService.UpdateProduct(product); } SalesOrderDetail salesOrderDetail = await _salesOrderManagementDataService.GetSalesOrderDetailForUpdate(payload.MasterEntityId); if (salesOrderDetail != null) { salesOrderDetail.ShippedQuantity = salesOrderDetail.ShippedQuantity + payload.Quantity; await _salesOrderManagementDataService.UpdateSalesOrderDetail(salesOrderDetail); } await LogSuccessfullyProcessed(transaction); }
/// <summary> /// Generate Inventory Transaction Payload /// </summary> /// <param name="inventoryTransaction"></param> /// <returns></returns> private string GenerateInventoryTransactionPayload(InventoryTransaction inventoryTransaction) { InventoryTransactionPayload inventoryTransactionPayload = new InventoryTransactionPayload(); inventoryTransactionPayload.ProductId = inventoryTransaction.ProductId; inventoryTransactionPayload.Quantity = inventoryTransaction.Quantity; inventoryTransactionPayload.UnitCost = inventoryTransaction.UnitCost; inventoryTransactionPayload.EntityId = inventoryTransaction.EntityId; inventoryTransactionPayload.MasterEntityId = inventoryTransaction.MasterEntityId; inventoryTransactionPayload.TransactionDate = inventoryTransaction.TransactionDate; string payload = SerializationFunction <InventoryTransactionPayload> .ReturnStringFromObject(inventoryTransactionPayload); return(payload); }
/// <summary> /// Inventory Received /// </summary> /// <param name="transaction"></param> /// <returns></returns> private async Task InventoryReceived(TransactionQueueInbound transaction) { InventoryTransactionPayload payload = JsonConvert.DeserializeObject <InventoryTransactionPayload>(transaction.Payload); int productMasterId = payload.ProductId; Product product = await _salesOrderManagementDataService.GetProductInformationByProductMasterForUpdate(productMasterId); if (product != null) { product.OnHandQuantity = product.OnHandQuantity + payload.Quantity; await _salesOrderManagementDataService.UpdateProduct(product); } await LogSuccessfullyProcessed(transaction); }
/// <summary> /// Inventory Received /// </summary> /// <param name="transaction"></param> private async Task InventoryReceived(TransactionQueueInbound transaction) { InventoryTransactionPayload payload = JsonConvert.DeserializeObject <InventoryTransactionPayload>(transaction.Payload); int purchaseOrderDetailId = payload.MasterEntityId; PurchaseOrderDetail purchaseOrderDetail = await _purchaseOrderManagementDataService.GetPurchaseOrderDetailForUpdate(purchaseOrderDetailId); if (purchaseOrderDetail != null) { purchaseOrderDetail.ReceiviedQuantity = purchaseOrderDetail.ReceiviedQuantity + payload.Quantity; await _purchaseOrderManagementDataService.UpdatePurchaseOrderDetail(purchaseOrderDetail); } await LogSuccessfullyProcessed(transaction); }