public AddSaleResponse Execute(AddSaleRequest request) { try { addSaleValidationActivity.Validate(request); addSaleActivity.Run(request.Product, int.Parse(request.Count), DateTime.Parse(request.DateTime), float.Parse(request.Price), request.Seller); List <Sale> sales = getSaleActivity.Run(request.Product.ArrivedGoods.Department); editProductActivity.Run(request.Product.Id, request.Product.Unit, request.Product.Category, request.Product.Class, request.Product.TareChange, (request.Product.Count - int.Parse(request.Count)), request.Product.ExpirationDate, request.Product.ArrivedGoods, request.Product.PurchasePrice, request.Product.SalesPrice, request.Product.Returned, request.Product.ReturnedDate, request.Product.WritenOff); List <Product> products = getProductActivity.Run(request.Product.ArrivedGoods.Department); return(new AddSaleResponse(sales, products)); } catch (Exception ex) { throw new Exception(ex.Message, ex); } }
public EditProductGoodsResponse Execute(EditProductGoodsRequest request) { try { editProductGoodsValidationActivity.Validate(request); editArrivedGoodsActivity.Run(request.ArrivedGoods.Id, request.Provider, int.Parse(request.Count), DateTime.Parse(request.DateTime), float.Parse(request.AllPurchasePrice), float.Parse(request.AllSalesPrice), request.Department, request.Seller); List <ArrivedGoods> arrivedGoods = getArrivedGoodsActivity.Run(request.Department); var returnedDate = string.IsNullOrEmpty(request.ReturnedDate) ? (DateTime?)null : DateTime.Parse(request.ReturnedDate); editProductActivity.Run(request.Id, request.Unit, request.Category, request.Class, request.TareChange, int.Parse(request.Count), DateTime.Parse(request.ExpirationDate), request.ArrivedGoods, float.Parse(request.AllPurchasePrice) / float.Parse(request.Count), float.Parse(request.AllSalesPrice) / float.Parse(request.Count), request.Returned, returnedDate, request.WritenOff); List <Product> products = getProductActivity.Run(request.Department); return(new EditProductGoodsResponse(arrivedGoods, products)); } catch (Exception ex) { throw new Exception(ex.Message, ex); } }