Ejemplo n.º 1
0
        public async Task <IActionResult> Complete()
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            var orderItemsSessionModel = HttpContext.Session.Get <List <OrderItemSessionModel> >(SessionConstants.ORDER_ITEMS_SESSION_MODEL_NAME);
            var paymentSessionModel    = HttpContext.Session.Get <PaymentSessionModel>(SessionConstants.PAYMENT_SESSION_MODEL_NAME);

            if (paymentSessionModel == null || orderItemsSessionModel == null)
            {
                return(RedirectToActionPermanent("Index", "Home"));
            }

            var orderItems = PopulateViewModel(orderItemsSessionModel);
            var viewModel  = new PaymentCompleteViewModel()
            {
                PhoneNumber = user.PhoneNumber,
                Email       = user.Email,
                ClientName  = user.FullName,
                OrderCode   = paymentSessionModel.OrderCode,
                GrossTotal  = paymentSessionModel.GrossTotal,
                Vat         = paymentSessionModel.Vat,
                NetTotal    = paymentSessionModel.NetTotal,
                Currency    = paymentSessionModel.Currency,
                PaymentType = paymentSessionModel.PaymentType,
                Items       = orderItems.Items
            };

            return(View(viewModel));
        }
Ejemplo n.º 2
0
//4242424242424242
//test card https://stripe.com/docs/testing



        public IActionResult PaymentComplete()
        {
            //Retrieve object from temp data
            var orderToPlace = JsonSerializer.Deserialize <YallaNakol.Data.Models.Order>((string)TempData["Order"]);

            orderRepo.CreateOrder(orderToPlace); // place order
            shoppingCart.ClearItems();           // clear cart items
            orderRepo.SaveChanges();             // save order changes
            shoppingCart.SaveChanges();          // save cart changes

            var paymentCompleteVM = new PaymentCompleteViewModel()
            {
                TotalOrderCost = orderToPlace.OrderTotal,
                TrackingId     = orderToPlace.TrackingID,
                PaymentType    = orderToPlace.PaymentType
            };

            return(View(paymentCompleteVM));
        }