示例#1
0
        public ActionResult ReceiveableDetails(long id)
        {
            var receivableProductList      = GetReceivesProductList(id);
            ReceiveProductViewModel aModel = new ReceiveProductViewModel
            {
                TripId         = id,
                DispatchModels = receivableProductList
            };

            return(View(aModel));
        }
示例#2
0
 public IActionResult CheckOut(string id, ReceiveProductViewModel receiveProduct)
 {
     if (id == "CheckOutCash")
     {
         SaleOrder(receiveProduct, false);
     }
     else
     {
         SaleOrder(receiveProduct, true);
     }
     return(RedirectToAction("Complete"));
 }
示例#3
0
        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));
            }
        }