public ActionResult ReceiveableDetails(long id) { var receivableProductList = GetReceivesProductList(id); ReceiveProductViewModel aModel = new ReceiveProductViewModel { TripId = id, DispatchModels = receivableProductList }; return(View(aModel)); }
public IActionResult CheckOut(string id, ReceiveProductViewModel receiveProduct) { if (id == "CheckOutCash") { SaleOrder(receiveProduct, false); } else { SaleOrder(receiveProduct, true); } return(RedirectToAction("Complete")); }
private void SaleOrder(ReceiveProductViewModel receiveProduct, bool payment) { var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; var cart = SessionHelper.GetObjectFromJson <List <ItemViewModel> >(HttpContext.Session, "cart"); var order = new SaleOrder { TotalPrice = cart.Sum(i => i.Product.UnitPrice * i.Quantity), UserId = userId, Payment = payment }; _unitOfWork.SaleOrderRepository.Create(order); _unitOfWork.Commit(); var saleId = _unitOfWork.SaleOrderRepository.GetByUId(order.UniqueId).Id; cart.ForEach(i => _unitOfWork.SaleOrderDetailRepository.Create(new SaleOrderDetail { SaleOrderId = saleId, ProductId = i.Product.Id, Quantity = i.Quantity, UnitPrice = i.Product.UnitPrice })); Product product = new Product(); cart.ForEach(i => { product = _unitOfWork.ProductRepository.Get(i.Product.Id); product.Quantity -= i.Quantity; _unitOfWork.ProductRepository.Edit(product); }); var receivePro = _mapper.Map <ReceiveProductViewModel, ReceiveProduct>(receiveProduct); receivePro.SaleId = saleId; _unitOfWork.ReceiveProductRepository.Create(receivePro); _unitOfWork.Commit(); SessionHelper.SetObjectAsJson(HttpContext.Session, "cart", null); }
public ActionResult ReceiveableDetails(long id) { try { var receivableProductList = GetReceivesProductList(id); ReceiveProductViewModel aModel = new ReceiveProductViewModel { DispatchId = id, DispatchModels = receivableProductList }; return(View(aModel)); } catch (Exception exception) { Log.WriteErrorLog(exception); return(PartialView("_ErrorPartial", exception)); } }