示例#1
0
        // GET: Orders
        public ActionResult Index()
        {
            int UserId = 0;
            List <OrderPlacedModel> orderedProducts = new List <OrderPlacedModel>();

            if (Session["UserID"] == null)
            {
                return(RedirectToAction("Login", "Login"));
            }
            else
            {
                UserId = Convert.ToInt32(Session["UserID"]);
            }

            var orders = db.Orders.Include(o => o.orderPlacedProduct).Where(i => i.userid == UserId).ToList();

            foreach (var item in orders)
            {
                OrderPlacedModel orderedProduct = new OrderPlacedModel();
                orderedProduct.HealthProducts   = new List <Product>();
                orderedProduct.PharmacyProducts = new List <PharmacyProduct>();
                orderedProduct.Address          = new Address();
                orderedProduct.Order            = new Order();
                var hpProductsIds    = new List <string>();
                var pharmProductsIds = new List <string>();
                if (!string.IsNullOrEmpty(item.orderPlacedProduct.orderPlacedHealthProducts))
                {
                    hpProductsIds = item.orderPlacedProduct.orderPlacedHealthProducts.Split('|').ToList();
                }

                if (!string.IsNullOrEmpty(item.orderPlacedProduct.orderPlacedPharmacyProducts))
                {
                    pharmProductsIds = item.orderPlacedProduct.orderPlacedPharmacyProducts.Split('|').ToList();
                }

                foreach (var hpId in hpProductsIds)
                {
                    var id   = Convert.ToInt32(hpId);
                    var prod = db.Products.Where(i => i.Product_Id == id).FirstOrDefault();
                    orderedProduct.HealthProducts.Add(prod);
                }

                foreach (var pharmId in pharmProductsIds)
                {
                    var id   = Convert.ToInt32(pharmId);
                    var prod = db.PharmacyProducts.Where(i => i.ProductId == id).FirstOrDefault();
                    orderedProduct.PharmacyProducts.Add(prod);
                }
                orderedProduct.Address = db.Addresses.Where(i => i.AddressId == item.addressid).FirstOrDefault();
                orderedProduct.Order   = item;
                orderedProducts.Add(orderedProduct);
            }

            return(View(orderedProducts));
        }
        public ActionResult OrderSummry()
        {
            string uname = Session["UserName"].ToString();
            var    ob    = new OrderPlacedModel();

            ob.CartInfo = (from x in db.CustomerShoppingCarts
                           where x.CustomerUserName == uname
                           select x).OrderByDescending(z => z.DateTime).ToList();
            ob.PaymentSystem = db.PaymentSystemTables.ToList();
            ob.CustAdress    = db.CustomerAddresses.Where(x => x.UserName == uname).ToList();

            return(View(ob));
        }
        public ActionResult Order(OrderPlacedModel ob)
        {
            string Uname     = Session["UserName"].ToString();
            var    cartinfo  = db.CustomerShoppingCarts.Where(x => x.CustomerUserName == Uname).ToList();
            var    addressId = db.CustomerAddresses.Where(x => x.id == ob.CustAddressId).SingleOrDefault();

            var TypeofPayment = db.PaymentSystemTables.Where(x => x.PaymentMethodsId == ob.PaymentTypeId).Select(x => x.PaymentMethods).SingleOrDefault();

            foreach (var n in cartinfo)
            {
                OrderAddress orad    = new OrderAddress();
                OrderTable   ortable = new OrderTable();
                Thread.Sleep(100);
                orad.OrderId     = ortable.OrderId = DateTime.Now.Ticks;
                ortable.Price    = n.ItemPrice;
                ortable.NoOfItem = n.NoOfItem;
                ortable.UserName = Uname;
                orad.Address     = addressId.Address;
                orad.City        = addressId.City;
                orad.State       = addressId.State;
                var ad = (decimal)addressId.PinCode;
                orad.PinCode                = ad;
                orad.UserName               = Uname;
                ortable.OrderAddress        = "" + addressId.AddressType + "," + addressId.Address + "," + addressId.City + "," + addressId.State + "," + addressId.PinCode;
                ortable.TypeOfPaymentMethod = TypeofPayment;
                ortable.ItemId              = n.ItemId;
                db.OrderTables.Add(ortable);
                db.OrderAddresses.Add(orad);
                var    EmailAddress = db.UserRegistrations.Where(x => x.UserName == Uname).Select(x => x.EmailId).SingleOrDefault();
                string Mailbody     = this.createEmailBody(n.ItemName, n.ItemPrice.ToString(), orad.OrderId.ToString(), n.NoOfItem.ToString());

                db.SaveChanges();
                try
                {
                    this.MailSend(EmailAddress, Mailbody);
                }
                catch (Exception)
                {
                }
            }
            var deletedata = db.CustomerShoppingCarts.Where(x => x.CustomerUserName == Uname).ToList();

            foreach (var n in deletedata)
            {
                db.CustomerShoppingCarts.Remove(n);
                db.SaveChanges();
            }
            return(RedirectToAction("YourOrder", "Account"));
        }