public void Update(ReturnedSaleDTO dto, int userId) { //var sale = new SaleDalFacade().GetSale(dto.SaleId); var workPlaceId = new UserDalFacade().GetAccountUser(userId).WorkPlace.Id.Value; var existingReturnedSale = GetReturnedSale(dto.Id); var dasd = existingReturnedSale.Quantity - existingReturnedSale.DefectedQuantity; var diff = (dto.Quantity - dto.DefectedQuantity) - dasd; // quantity - deffectedQuantity !!!(So quantity is general for both) var productInStockFrom = new ProductStockDalFacade().GetProductStockByPlaceAndProduct(workPlaceId, dto.ProductId); productInStockFrom.Quantity += diff; new ProductStockDalFacade().Update(productInStockFrom); new ReturnedSaleDalFacade().Update(dto); // var existingReturnSale = new ReturnedSaleBL().GetReturnedSale(dto.Id); var lostInMoneyInInsert = existingReturnSale.ReturnedPrice * existingReturnSale.Quantity; var lostInMoneyInUpdate = dto.ReturnedPrice * dto.Quantity; var lostInMoney = lostInMoneyInInsert - lostInMoneyInUpdate; var quantity = existingReturnSale.Quantity - dto.Quantity; //var sale2 = new SaleDalFacade().GetSale(dto.SaleId); //sale2.SalesPrice -= lostInMoney; //sale2.Quantity -= quantity; //new SaleDalFacade().Update(sale2); //var order = new OrderDalFacade().GetClientOrder(sale.OrderId); //order.OverallPrice -= lostInMoney; //order.PaymentByCash -= lostInMoney; //new OrderDalFacade().Update(order); }
public void Update(ReturnedSaleDTO dto) { var element = (from c in db.ReturnedSales where c.Id == dto.Id select c).FirstOrDefault(); element.Cause = dto.Cause; element.DefectedQuantity = dto.DefectedQuantity; element.Quantity = dto.Quantity; element.ReturnDate = dto.ReturnDate; element.ReturnedPrice = dto.ReturnedPrice; element.ReturnedMoney = dto.ReturnedMoney; element.UpdatedDate = DateTime.Now; db.SubmitChanges(); }
public HttpResponseMessage Add(ReturnedSaleDTO element) { try { var userId = AuthHelper.GetUserIdFromClaims(User.Identity as ClaimsIdentity); new ReturnedSaleBL().Add(element, userId); return(Request.CreateResponse(HttpStatusCode.OK, true)); } catch (Exception ex) { LogManager.Instance.Error(ex); return(Request.CreateResponse(HttpStatusCode.InternalServerError, false)); } }
public void UpdateProductStock(ReturnedSaleDTO dto, int userId) { var workplaceId = new UserDalFacade().GetAccountUser(userId).WorkPlace.Id.Value; var productInStockAdd = new ProductStockDalFacade().GetProductStockByPlaceAndProduct(workplaceId, dto.ProductId, true); if (productInStockAdd == null) { AddProductStock(workplaceId, dto.ProductId, dto.Quantity - dto.DefectedQuantity); } else { productInStockAdd.Quantity += dto.Quantity - dto.DefectedQuantity; new ProductStockDalFacade().Update(productInStockAdd); } }
public void Add(ReturnedSaleDTO c, int workPlaceId) { var element = new ReturnedSale() { Id = c.Id, SaleId = c.SaleId, ProductId = c.ProductId, Cause = c.Cause, DefectedQuantity = c.DefectedQuantity, Quantity = c.Quantity, ReturnDate = c.ReturnDate, ReturnedPrice = c.ReturnedPrice, ReturnedMoney = c.ReturnedMoney, WorkplaceId = workPlaceId, }; db.ReturnedSales.InsertOnSubmit(element); db.SubmitChanges(); }
public HttpResponseMessage Update(ReturnedSaleDTO dto) { try { var userId = AuthHelper.GetUserIdFromClaims(User.Identity as ClaimsIdentity); new ReturnedSaleBL().Update(dto, userId); return(Request.CreateResponse(HttpStatusCode.OK, true)); } catch (ArgumentOutOfRangeException ex) { LogManager.Instance.Error(ex); return(Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message)); } catch (Exception ex) { LogManager.Instance.Error(ex); return(Request.CreateResponse(HttpStatusCode.InternalServerError, false)); } }
public void Add(ReturnedSaleDTO dto, int userId) { var workPlaceId = new UserDalFacade().GetAccountUser(userId).WorkPlace.Id.Value; if (dto.SaleId == 0) { dto.SaleId = null; } new ProductStockBL().UpdateProductStock(dto, userId); new ReturnedSaleDalFacade().Add(dto, workPlaceId); var lostInMoney = dto.ReturnedPrice * dto.Quantity; //var sale = new SaleDalFacade().GetSale(dto.SaleId); //sale.Quantity -= dto.Quantity; //sale.SalesPrice -= lostInMoney; //new SaleDalFacade().Update(sale); //var order = new OrderDalFacade().GetClientOrder(sale.OrderId); //order.OverallPrice -= lostInMoney; //order.PaymentByCash -= lostInMoney; //new OrderDalFacade().Update(order); }