Esempio n. 1
0
        public IActionResult Summary()
        {
            ApplicationUser applicationUser;

            if (User.IsInRole(WebConstants.AdminRole))
            {
                if (HttpContext.Session.Get <int>(WebConstants.SessionInquiryId) != 0)
                {
                    //Cart was loaded using an inquiry
                    InquiryHeader inquiryHeader = _inqHRepo.FirstOrDefault(x => x.Id == HttpContext.Session.Get <int>(WebConstants.SessionInquiryId));
                    applicationUser = new ApplicationUser()
                    {
                        Email       = inquiryHeader.Email,
                        FullName    = inquiryHeader.FullName,
                        PhoneNumber = inquiryHeader.PhoneNumber
                    };
                }
                else
                {
                    applicationUser = new ApplicationUser();
                }

                var gateway     = _brain.GetGateway();
                var clientToken = gateway.ClientToken.Generate();
                ViewBag.ClientToken = clientToken;
            }
            else
            {
                var claimsIdentity = (ClaimsIdentity)User.Identity;
                var claim          = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);
                //var userId = User.FindFirstValue(ClaimTypes.Name);

                applicationUser = _userRepo.FirstOrDefault(x => x.Id == claim.Value);
            }



            List <ShoppingCart> shoppingCartList = new List <ShoppingCart>();

            if (HttpContext.Session.Get <IEnumerable <ShoppingCart> >(WebConstants.SessionCart) != null &&
                HttpContext.Session.Get <IEnumerable <ShoppingCart> >(WebConstants.SessionCart).Count() > 0)
            {
                //Session exists
                shoppingCartList = HttpContext.Session.Get <IEnumerable <ShoppingCart> >(WebConstants.SessionCart).ToList();
            }
            List <int>            prodInCart = shoppingCartList.Select(i => i.ProductId).ToList();
            IEnumerable <Product> prodList   = _prodRepo.GetAll(x => prodInCart.Contains(x.Id));

            ProductUserVM = new ProductUserVM()
            {
                ApplicationUser = applicationUser,
            };
            foreach (var cartObj in shoppingCartList)
            {
                Product prodTemp = _prodRepo.FirstOrDefault(x => x.Id == cartObj.ProductId);
                prodTemp.TempSqFt = cartObj.SqFt;
                ProductUserVM.ProductList.Add(prodTemp);
            }
            return(View(ProductUserVM));
        }
Esempio n. 2
0
        public IActionResult Index()
        {
            var gateway     = _brain.GetGateway();
            var clientToken = gateway.ClientToken.Generate();

            ViewBag.ClientToken = clientToken;
            return(View());
        }
Esempio n. 3
0
        public IActionResult CancelOrder()
        {
            OrderHeader orderHeader = _orderHRepo.FirstOrDefault(u => u.Id == OrderVM.OrderHeader.Id);


            var         gateway     = _brain.GetGateway();
            Transaction transaction = gateway.Transaction.Find(orderHeader.TransactionId);

            if (transaction.Status == TransactionStatus.AUTHORIZED || transaction.Status == TransactionStatus.SUBMITTED_FOR_SETTLEMENT)
            {
                Result <Transaction> resultvoid = gateway.Transaction.Void(orderHeader.TransactionId);
            }
            else
            {
                Result <Transaction> resultRefund = gateway.Transaction.Refund(orderHeader.TransactionId);
            }
            orderHeader.OrderStatus = WC.StatusRefunded;
            _orderHRepo.Save();
            TempData[WC.Success] = "Order  Cancelled Successfuly";
            return(RedirectToAction(nameof(Index)));
        }
Esempio n. 4
0
        public IActionResult Summary()
        {
            ApplicationUser applicationUser;

            if (User.IsInRole(WC.AdminRole))
            {
                if (HttpContext.Session.Get <int>(WC.SessionInquiryId) != 0)
                {
                    //Cart has been loaded using an inquiry
                    InquiryHeader inquiryHeader = _inqHRepo.FirstOrDefault(u => u.Id == HttpContext.Session.Get <int>(WC.SessionInquiryId));
                    applicationUser = new ApplicationUser()
                    {
                        Email       = inquiryHeader.Email,
                        FullName    = inquiryHeader.FullName,
                        PhoneNumber = inquiryHeader.PhoneNumber
                    };
                }
                else
                {
                    applicationUser = new ApplicationUser();
                }

                //Payments logic:
                var gateway      = _brain.GetGateway();
                var clientTocken = gateway.ClientToken.Generate();
                ViewBag.ClientToken = clientTocken;
            }
            else
            {
                //Findout ID of Login User
                var clamsIdentity = (ClaimsIdentity)User.Identity;
                var claim         = clamsIdentity.FindFirst(ClaimTypes.NameIdentifier); // If user not Login (claim == null). ID will be in claim.Value
                //Anoter way to find UserID
                //var userId = User.FindFirstValue(ClaimTypes.Name);
                applicationUser = _userRepo.FirstOrDefault(u => u.Id == claim.Value);
            }


            //Get list of Products from Session "ShoppingCart"
            List <ShoppingCart> shoppingCartList = new List <ShoppingCart>();

            if (HttpContext.Session.Get <IEnumerable <ShoppingCart> >(WC.SessionCart) != null && HttpContext.Session.Get <IEnumerable <ShoppingCart> >(WC.SessionCart).Count() > 0)
            {
                //Session exists
                shoppingCartList = HttpContext.Session.Get <List <ShoppingCart> >(WC.SessionCart);
            }
            // Store all Id to new List
            List <int>            prodInCart = shoppingCartList.Select(i => i.ProductId).ToList();
            IEnumerable <Product> prodList   = _prodRepo.GetAll(u => prodInCart.Contains(u.Id));

            ProductUserVM = new ProductUserVM()
            {
                ApplicationUser = applicationUser //,
                                                  //ProductList = prodList.ToList()
            };

            foreach (var cartObj in shoppingCartList)
            {
                Product prodTemp = _prodRepo.FirstOrDefault(u => u.Id == cartObj.ProductId);
                prodTemp.TempSqFt = cartObj.SqFt;
                ProductUserVM.ProductList.Add(prodTemp);
            }


            return(View(ProductUserVM));
        }