public async Task <JsonResult> OrderProcess(string model, string cartId)
        {
            string status        = Instances.ERROR_STATUS;
            string statusMessage = string.Empty;
            var    result        = new OrderCompleteViewModel();

            try
            {
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                Customer             customer   = serializer.Deserialize <Customer>(model);
                int orderId = await _unitOfWork.OrderRepo.CheckOut(cartId, customer);

                result = await _unitOfWork.OrderRepo.Complete(orderId);

                status = Instances.SUCCESS_STATUS;
            }
            catch (Exception ex)
            {
                statusMessage = ex.Message;
            }
            var results = APIHelper.Instance.GetApiResult(new
            {
                Result = result
            }, status, statusMessage, result.OrderItems.Count());

            return(Json(results));
        }
示例#2
0
        // GET: Orders/Complete/5
        public async Task <IActionResult> Complete(int?id, double?Totes)
        {
            if (id == null)
            {
                return(NotFound());
            }
            var user = await GetCurrentUserAsync();

            var order = await _context.Order
                        .FirstOrDefaultAsync(m => m.OrderId == id);

            var paymentTypes = _context.PaymentType
                               .Where(pt => user.Id == pt.UserId)
                               .Select(pt => new SelectListItem()
            {
                Value = pt.PaymentTypeId.ToString(), Text = pt.Description
            }).ToList();

            if (order == null)
            {
                return(NotFound());
            }
            var OCVM = new OrderCompleteViewModel
            {
                Order        = order,
                PaymentTypes = paymentTypes
            };

            OCVM.Total = Totes;
            return(View(OCVM));
        }
示例#3
0
        public async Task <IActionResult> Complete()
        {
            Klientas user = await _userManager.GetUserAsync(User);

            string id = user?.Id;
            OrderCompleteViewModel model = new OrderCompleteViewModel();

            model.pristatymoBudas = _context.PristatymoBudas.ToList();
            model.picos           = _context.Pica.ToList();
            model.shoppingCart    = _context.ShoppingCart.Where(a => a.FkKlientasid == id).ToList();
            return(View(model));
        }
示例#4
0
        private IEnumerable <GameInCartViewModel> GetGamesFromOrder(OrderCompleteViewModel order)
        {
            var orderItems    = this.orderItemsService.GetOrderItems <OrderItemViewModel>(order.Id);
            var gameIds       = this.orderItemsService.GetGameIdsFromOrder(order.Id);
            var gamesToReturn = this.gamesService.GetGamesFromOrder <GameInCartViewModel>(gameIds);

            foreach (var game in gamesToReturn)
            {
                game.GameKey         = orderItems.FirstOrDefault(x => x.GameId == game.Id).GameKey;
                game.PriceOnPurchase = orderItems.FirstOrDefault(x => x.GameId == game.Id).PriceOnPurchase;
            }

            return(gamesToReturn);
        }
示例#5
0
        public async Task <IActionResult> Create(OrderCompleteViewModel order)
        {
            Klientas user = await _userManager.GetUserAsync(User);

            string id   = user?.Id;
            var    cart = _context.ShoppingCart.Where(a => a.FkKlientasid == id).ToList();

            if (ModelState.IsValid)
            {
                var completeOrder = new Uzsakymas
                {
                    VardasPavarde   = order.VardasPavarde,
                    Adresas         = order.Adresas,
                    Telefonas       = order.Telefonas,
                    PristatymoBudas = order.PristatymoBudas,
                    FkKlientasid    = id,
                    Kaina           = getCartPrice(id),
                    PrekiuKiekis    = getCartCount(id),
                    UzsakymoData    = DateTime.Now
                };

                _context.Add(completeOrder);
                await _context.SaveChangesAsync();

                foreach (var cartitem in cart)
                {
                    var orderitem = new UzsakymoPreke {
                        Kiekis = cartitem.Kiekis, FkPicaid = cartitem.FkPicaid, FkUzsakymasid = completeOrder.Id
                    };
                    _context.Add(orderitem);
                    await _context.SaveChangesAsync();

                    _context.Remove(cartitem);
                    await _context.SaveChangesAsync();
                }

                return(RedirectToAction("Index", "Order"));
            }

            order.pristatymoBudas = _context.PristatymoBudas.ToList();
            order.picos           = _context.Pica.ToList();
            order.shoppingCart    = _context.ShoppingCart.Where(a => a.FkKlientasid == id).ToList();
            return(View("Complete", order));
        }
示例#6
0
        public ActionResult OrderComplete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest));
            }
            var order = _db.Orders.Find(id);

            if (order == null || order.Status == Order.OrderStatus.Pending)
            {
                return(new HttpStatusCodeResult(System.Net.HttpStatusCode.BadRequest));
            }
            var user      = order.User;
            var viewModel = new OrderCompleteViewModel
            {
                Order   = order,
                AppUser = user
            };

            return(View(viewModel));
        }