public static dbentities.ProductHistory DtoToEntity(this ProductHistoryDetailRequest request) { dbentities.ProductHistory entity = null; if (request != null) { entity = new dbentities.ProductHistory { ProductHistoryID = request.ProductHistoryId, ProductID = request.ProductId, QuantityAmmend = request.QuantityAmmend, QuantityPrevious = request.QuantityPrevious, QuantityCurrent = request.QuantityCurrent, OrderTransactionTypeID = request.OrderTransactionTypeId, OrderRemarks = request.OrderRemarks, CreatedBy = request.CreatedBy, CreatedTime = request.CreatedTime, ModifiedBy = request.ModifiedBy, ModifiedTime = request.ModifiedTime }; } return(entity); }
public IActionResult UpdateProductDetails(ProductDetailRequest request) { bool isSucess = false; string messageAlert = string.Empty; bool productUpdateResult = false; var currentUserId = HttpContext.Session.GetString(LookupKey.SessionVariables.UserId).IsNull() ? 0 : Convert.ToInt64(HttpContext.Session.GetString(LookupKey.SessionVariables.UserId)); var passedProductResult = _productService.GetAllProductDetails().Where(m => m.ProductId == request.ProductId).FirstOrDefault(); request.CreatedTime = passedProductResult.CreatedTime; request.ModifiedBy = currentUserId; request.ModifiedTime = DateTime.Now; var codeProductDetailResult = _productService.GetAllProductDetails().Where(p => p.ProductCode == request.ProductCode && p.IsActive && p.ProductId != request.ProductId).FirstOrDefault(); #region Validate same product code if (!codeProductDetailResult.IsNull()) { return(Ok(new { isSucess = isSucess, messageAlert = Messages.ProductCodeValidation })); } #endregion //Update Product Details productUpdateResult = _productService.UpdateDetails(request); if (!productUpdateResult) { return(Ok(new { isSucess = isSucess, messageAlert = Messages.ServerError })); } var productHistoryDetailRequest = new ProductHistoryDetailRequest() { ProductHistoryId = 0, ProductId = request.ProductId, QuantityAmmend = 0, QuantityPrevious = codeProductDetailResult.Quantity, QuantityCurrent = codeProductDetailResult.Quantity, OrderTransactionTypeId = LookupKey.OrderTransactionType.UpdateProductDetailsId, OrderRemarks = request.OrderRemarks, CreatedBy = currentUserId, CreatedTime = DateTime.Now, ModifiedBy = null, ModifiedTime = null }; var productHistoryId = _productService.SaveProductHistory(productHistoryDetailRequest); if (productHistoryId <= 0) { return(Ok(new { isSucess = isSucess, messageAlert = Messages.ServerError })); } isSucess = true; var response = new { isSucess = isSucess, messageAlert = messageAlert }; return(Ok(response)); }