/// <summary> /// Product Updated /// </summary> /// <param name="transaction"></param> private async Task ProductUpdated(TransactionQueueInbound transaction) { ProductUpdatePayload payload = JsonConvert.DeserializeObject <ProductUpdatePayload>(transaction.Payload); int productMasterId = payload.ProductId; Product product = await _salesOrderManagementDataService.GetProductInformationByProductMasterForUpdate(productMasterId); if (product != null) { product.ProductNumber = payload.ProductNumber; product.Description = payload.Description; product.UnitPrice = payload.UnitPrice; await _salesOrderManagementDataService.UpdateProduct(product); } else { product = new Product(); product.AccountId = payload.AccountId; product.ProductNumber = payload.ProductNumber; product.ProductMasterId = payload.ProductId; product.Description = payload.Description; product.UnitPrice = payload.UnitPrice; await _salesOrderManagementDataService.CreateProduct(product); } await LogSuccessfullyProcessed(transaction); }
/// <summary> /// Generate Product Update Payload /// </summary> /// <param name="product"></param> /// <returns></returns> private string GenerateProductUpdatePayload(Product product) { ProductUpdatePayload productUpdatePayload = new ProductUpdatePayload(); productUpdatePayload.AccountId = product.AccountId; productUpdatePayload.ProductId = product.ProductId; productUpdatePayload.BinLocation = product.BinLocation; productUpdatePayload.Description = product.Description; productUpdatePayload.ProductNumber = product.ProductNumber; productUpdatePayload.UnitPrice = product.UnitPrice; string payload = SerializationFunction <ProductUpdatePayload> .ReturnStringFromObject(productUpdatePayload); return(payload); }