Beispiel #1
0
 public ActionResult Create(ProductViewModels newproduct)
 {
     if (ModelState.IsValid)
     {
         try
         {
             // TODO: Add insert logic here
             using (CrossOverShoppingCartDBEntities ce = new CrossOverShoppingCartDBEntities())
             {
                 ce.Products.Add(new Product()
                 {
                     ProductName = newproduct.ProductName,
                     Price       = newproduct.Price,
                     IsActive    = newproduct.IsActive?"Y":"N",
                     Cr_datetime = DateTime.Now,
                     Mo_datetime = DateTime.Now
                 });
                 ce.SaveChanges();
             }
             return(RedirectToAction("Index"));
         }
         catch
         {
             return(RedirectToAction("Error"));
         }
     }
     return(View(newproduct));
 }
Beispiel #2
0
        //
        // GET: /Cart/Details/5
        public ActionResult CheckoutDetails()
        {
            var cartOnHold = (List <ShoppingCart>)(System.Web.HttpContext.Current.Session["userShoppingCart"]);

            using (CrossOverShoppingCartDBEntities ce = new CrossOverShoppingCartDBEntities())
            {
                var cartItemIds      = cartOnHold.Select(c => c.ProductID).ToList();
                var products         = ce.Products.ToList();
                var viewCartProducts = products.Where(pr => (pr.IsActive.ToLower().Equals("y")) && cartItemIds.Contains(pr.ProductID)).ToList();

                List <CartViewModels> carDetModel = new List <CartViewModels>();
                foreach (var item in cartOnHold)
                {
                    var product = viewCartProducts.Find(p => p.ProductID == item.ProductID);
                    var cvm     = new CartViewModels();
                    cvm.ProductID   = product.ProductID;
                    cvm.ProductName = product.ProductName;
                    cvm.Quantity    = item.ProductQuantity;
                    cvm.Price       = product.Price;
                    carDetModel.Add(cvm);
                }
                decimal cartTotalPrice = 0;
                carDetModel.ForEach(i => { cartTotalPrice += i.TotalPrice; });
                ViewBag.TotalPrice = cartTotalPrice;
                return(View("CheckoutDetails", carDetModel));
            }
        }
Beispiel #3
0
 public ActionResult OrderConformation()
 {
     ViewBag.Message = "Congrats! Order conformed. Thank you for being with us.";
     using (CrossOverShoppingCartDBEntities ce = new CrossOverShoppingCartDBEntities())
     {
         List <ShoppingCart> prevCart = ce.ShoppingCarts.Where(u => u.UserName == (User.Identity).Name).ToList();
         ce.ShoppingCarts.RemoveRange(prevCart);
         ce.SaveChanges();
     }
     Session.Clear();
     return(View());
 }
Beispiel #4
0
        public ActionResult Add(int id)
        {
            var cartOnHold      = (List <ShoppingCart>)(System.Web.HttpContext.Current.Session["userShoppingCart"]);
            var cartCount       = (int)(System.Web.HttpContext.Current.Session["userShoppingCartCount"]);
            var existingProduct = cartOnHold.Where(p => p.ProductID == id).Any();

            using (CrossOverShoppingCartDBEntities ce = new CrossOverShoppingCartDBEntities())
            {
                var products = ce.Products.ToList();
                if (cartOnHold.Where(p => p.ProductID == id).Any())
                {
                    cartOnHold.Where(i => i.ProductID == id).First().ProductQuantity += 1;
                    if (Request.IsAuthenticated)
                    {
                        ce.ShoppingCarts.Where(i => i.ProductID == id).First().ProductQuantity += 1;
                        ce.SaveChanges();
                    }
                }
                else
                {
                    var product = products.Where(pr => (pr.IsActive.ToLower().Equals("y")) && (pr.ProductID == id)).FirstOrDefault();
                    cartOnHold.Add(new ShoppingCart()
                    {
                        ProductID = product.ProductID, ProductQuantity = 1, UserName = (User.Identity).Name
                    });
                    if (Request.IsAuthenticated)
                    {
                        // var crt = new ShoppingCart() { ProductID = product.ProductID, ProductQuantity = 1, UserName = (User.Identity).Name };
                        var crt2 = ce.ShoppingCarts.Create();
                        crt2.ProductID       = product.ProductID;
                        crt2.ProductQuantity = 1;
                        crt2.UserName        = (User.Identity).Name;
                        crt2.Cr_datetime     = DateTime.Now;
                        crt2.Mo_datetime     = DateTime.Now;
                        ce.ShoppingCarts.Add(crt2);
                        ce.SaveChanges();
                    }
                    System.Web.HttpContext.Current.Session["userShoppingCartCount"] = ++cartCount;
                }
                System.Web.HttpContext.Current.Session["userShoppingCart"] = cartOnHold;
                return(View("Index", products));
            }

            //return View();
        }
Beispiel #5
0
        public ActionResult InstantAdd(int id)
        {
            var cartOnHold      = (List <ShoppingCart>)(System.Web.HttpContext.Current.Session["userShoppingCart"]);
            var cartCount       = (int)(System.Web.HttpContext.Current.Session["userShoppingCartCount"]);
            var existingProduct = cartOnHold.Where(p => p.ProductID == id).Any();

            using (CrossOverShoppingCartDBEntities ce = new CrossOverShoppingCartDBEntities())
            {
                var products = ce.Products.ToList();
                if (cartOnHold.Where(p => p.ProductID == id).Any())
                {
                    cartOnHold.Where(i => i.ProductID == id).First().ProductQuantity += 1;
                    if (Request.IsAuthenticated)
                    {
                        ce.ShoppingCarts.Where(i => i.ProductID == id).First().ProductQuantity += 1;
                        ce.SaveChanges();
                    }
                }
                else
                {
                    var product = products.Where(pr => (pr.IsActive.ToLower().Equals("y")) && (pr.ProductID == id)).FirstOrDefault();
                    cartOnHold.Add(new ShoppingCart()
                    {
                        ProductID = product.ProductID, ProductQuantity = 1, UserName = (User.Identity).Name
                    });
                    if (Request.IsAuthenticated)
                    {
                        ce.ShoppingCarts.Add(new ShoppingCart()
                        {
                            ProductID = product.ProductID, ProductQuantity = 1, UserName = (User.Identity).Name
                        });
                        ce.SaveChanges();
                    }
                    System.Web.HttpContext.Current.Session["userShoppingCartCount"] = ++cartCount;
                }
                System.Web.HttpContext.Current.Session["userShoppingCart"] = cartOnHold;
                return(RedirectToAction("CheckoutDetails", "Cart"));
            }

            //return View();
        }
Beispiel #6
0
        //
        // GET: /Cart/
        public ActionResult Index()
        {
            var cartOnHold = null as List <ShoppingCart>;

            if (Request.IsAuthenticated)
            {
                using (CrossOverShoppingCartDBEntities ce = new CrossOverShoppingCartDBEntities())
                {
                    List <ShoppingCart> prevCart = ce.ShoppingCarts.Where(u => u.UserName == (User.Identity).Name).ToList();
                    System.Web.HttpContext.Current.Session["userShoppingCart"]      = prevCart;
                    System.Web.HttpContext.Current.Session["userShoppingCartCount"] = prevCart.Count;
                }
            }
            else
            {
                cartOnHold = (List <ShoppingCart>)(System.Web.HttpContext.Current.Session["userShoppingCart"]);
                if (cartOnHold == null)
                {
                    cartOnHold = new List <ShoppingCart>();
                    System.Web.HttpContext.Current.Session["userShoppingCart"]      = cartOnHold; // check from db
                    System.Web.HttpContext.Current.Session["userShoppingCartCount"] = 0;          // check from db
                }
            }
            List <Product> products = new List <Product>();

            using (CrossOverShoppingCartDBEntities ce = new CrossOverShoppingCartDBEntities())
            {
                var a = ce.Products.ToList();
                var b = a.Where(pr => pr.IsActive.ToLower().Equals("y")).Select(p =>
                                                                                new Product()
                {
                    ProductID   = p.ProductID,
                    ProductName = p.ProductName,
                    Price       = p.Price
                }).ToList();
                products.AddRange(a);
            }
            return(View(products));
        }
Beispiel #7
0
        public ActionResult InstantDelete(int id)
        {
            var cartOnHold      = (List <ShoppingCart>)(System.Web.HttpContext.Current.Session["userShoppingCart"]);
            var cartCount       = (int)(System.Web.HttpContext.Current.Session["userShoppingCartCount"]);
            var existingProduct = cartOnHold.Where(p => p.ProductID == id).Any();

            using (CrossOverShoppingCartDBEntities ce = new CrossOverShoppingCartDBEntities())
            {
                var products = ce.Products.ToList();
                if (cartOnHold.Where(p => p.ProductID == id).Any())
                {
                    cartOnHold.Where(i => i.ProductID == id).First().ProductQuantity -= 1;
                    if (Request.IsAuthenticated)
                    {
                        ce.ShoppingCarts.Where(i => i.ProductID == id).First().ProductQuantity -= 1;
                        ce.SaveChanges();
                    }
                }
                var remItems = cartOnHold.Where(p => p.ProductQuantity == 0).ToList();
                if (remItems.Any())
                {
                    foreach (var item in remItems)
                    {
                        cartOnHold.Remove(item);
                        if (Request.IsAuthenticated)
                        {
                            var rItem = ce.ShoppingCarts.Where(i => i.ProductID == item.ProductID).First();
                            ce.ShoppingCarts.Remove(rItem);
                            ce.SaveChanges();
                        }
                    }

                    System.Web.HttpContext.Current.Session["userShoppingCartCount"] = --cartCount;
                }
                System.Web.HttpContext.Current.Session["userShoppingCart"] = cartOnHold;

                return(RedirectToAction("CheckoutDetails", "Cart"));
            }
        }
Beispiel #8
0
        public ActionResult ProceedPayment(PaymentViewModels payObj)
        {
            if (payObj != null && ModelState.IsValid)
            {
                BinaryFormatter bf        = new BinaryFormatter();
                var             bytPayObj = null as byte[];
                using (MemoryStream ms = new MemoryStream())
                {
                    bf.Serialize(ms, payObj);
                    bytPayObj = ms.ToArray();
                }
                try
                {
                    WebClient client = new WebClient();
                    string    url    = paymetUrlBase;

                    client.UseDefaultCredentials = true;
                    //client.UploadData(paymetUrlBase, bytPayObj);
                    client.DownloadString(url);
                    //get the latest payment-id for the user action
                    var paymentTransactionId = 12345;
                    //confirm the result
                    string result = JsonConvert.DeserializeObject <string>(client.DownloadString(url + paymentTransactionId));

                    if (result != null && result.ToLower().Contains("success"))
                    {
                        return(RedirectToAction("OrderConformation"));//,payObj);
                    }
                    else
                    {
                        payObj.PaymentFailureMessage = "Payment unsuccessful! please try again.";
                        return(View(payObj));
                    }
                }
                catch (Exception e)
                {
                    ViewBag.Message = "Something went wrong!!! Sorry Try again.";
                    return(View("Error"));
                }
            }
            var cartOnHold = (List <ShoppingCart>)(System.Web.HttpContext.Current.Session["userShoppingCart"]);

            if (cartOnHold != null && cartOnHold.Count > 0)
            {
                using (CrossOverShoppingCartDBEntities ce = new CrossOverShoppingCartDBEntities())
                {
                    var cartItemIds      = cartOnHold.Select(c => c.ProductID).ToList();
                    var products         = ce.Products.ToList();
                    var viewCartProducts = products.Where(pr => (pr.IsActive.ToLower().Equals("y")) && cartItemIds.Contains(pr.ProductID)).ToList();

                    List <CartViewModels> carDetModel = new List <CartViewModels>();
                    foreach (var item in cartOnHold)
                    {
                        var product = viewCartProducts.Find(p => p.ProductID == item.ProductID);
                        var cvm     = new CartViewModels();
                        cvm.ProductName = product.ProductName;
                        cvm.Quantity    = item.ProductQuantity;
                        cvm.Price       = product.Price;
                        carDetModel.Add(cvm);
                    }
                    decimal cartTotalPrice = 0;
                    carDetModel.ForEach(i => { cartTotalPrice += i.TotalPrice; });
                    payObj.cartDetailModel = carDetModel;
                    payObj.PaymentAmount   = cartTotalPrice;
                }
            }
            return(View(payObj));
        }