public void Total()
        {
            List <decimal?> od          = new List <decimal?>();
            decimal?        ods         = 0;
            string          username    = Session["user"].ToString();
            int             userid      = db.User_Table.Where(x => x.UserName == username).Select(x => x.UserId).FirstOrDefault();
            var             productlist = (from a in db.Product_Table where a.SellerId == userid && a.ProductIsDeleted == false select a).ToList();
            var             orderlist   = (from o in db.Order_Table where o.OrderIsDeleted == false select o).ToList();

            foreach (var product in productlist)

            {
                foreach (var order in orderlist)
                {
                    OrderDetail_Table orders = (from or in db.OrderDetail_Table
                                                where order.OrderId == or.Orderid && or.Productid == product.ProductId
                                                select or).FirstOrDefault();
                    // amt = amt + orders;
                    if (orders != null)
                    {
                        od.Add(orders.Amount);
                    }
                }
            }
            ods           = od.Sum();
            ViewBag.total = ods;
        }
        public JsonResult add_cart(int id)
        {
            string      user = Session["user"].ToString();
            int         usid = db.User_Table.Where(x => x.UserName == user).Select(x => x.UserId).FirstOrDefault();
            Order_Table obj  = db.Order_Table.Where(x => x.OrderStatus == 0 & x.OrderIsDeleted == false & x.Userid == usid).FirstOrDefault();

            if (obj == null)
            {
                Order_Table obj1 = new Order_Table();
                obj1.OrderStatus    = 0;
                obj1.OrderIsDeleted = false;
                string     name = Session["user"].ToString();
                User_Table uid  = db.User_Table.Where(x => x.UserName == name).FirstOrDefault();
                obj1.Userid           = uid.UserId;
                obj1.OrderCreatedBy   = name;
                obj1.OrderUpdatedBy   = name;
                obj1.OrderCreatedDate = System.DateTime.Now;
                obj1.OrderUpdatedDate = System.DateTime.Now;
                db.Order_Table.Add(obj1);
                db.SaveChanges();
                Order_Table       obj2       = db.Order_Table.Where(x => x.OrderStatus == 0 & x.OrderIsDeleted == false & x.Userid == uid.UserId).FirstOrDefault();
                OrderDetail_Table detail_obj = new OrderDetail_Table();
                detail_obj.Orderid   = obj2.OrderId;
                detail_obj.Productid = id;
                detail_obj.Quantity  = 1;
                detail_obj.Amount    = db.Product_Table.Where(x => x.ProductId == id).Select(x => x.ProductPrice).FirstOrDefault();
                db.OrderDetail_Table.Add(detail_obj);
                db.SaveChanges();
            }
            else
            {
                bool flag  = false;
                var  check = db.OrderDetail_Table.Where(x => x.Orderid == obj.OrderId).Select(x => x.Productid).ToList();
                foreach (var item in check)
                {
                    if (item == id)
                    {
                        flag = true;
                    }
                }
                if (flag == false)
                {
                    OrderDetail_Table detail_obj = new OrderDetail_Table();
                    detail_obj.Orderid   = obj.OrderId;
                    detail_obj.Productid = id;
                    detail_obj.Quantity  = 1;
                    detail_obj.Amount    = db.Product_Table.Where(x => x.ProductId == id).Select(x => x.ProductPrice).FirstOrDefault();
                    db.OrderDetail_Table.Add(detail_obj);
                    db.SaveChanges();
                }
            }


            count_cart();
            var redirectUrl = new UrlHelper(Request.RequestContext).Action("Product_page", "Buyer");

            return(Json(new { Url = redirectUrl }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult purchase_all(Book obj)
        {
            string name = Session["user"].ToString();
            int    usid = db.User_Table.Where(x => x.UserName == name).Select(x => x.UserId).FirstOrDefault();

            Order_Table order = db.Order_Table.Where(x => x.OrderStatus == 0 & x.OrderIsDeleted == false & x.Userid == usid).FirstOrDefault();

            order.OrderDeliveryAddress = obj.OrderDelivryAddress;
            order.TotalAmount          = Convert.ToInt32(TempData["tcart_amt"]);
            order.OrderNotification    = "00";
            order.OrderDeliveryDate    = System.DateTime.Now.AddDays(5);
            order.OrderStatus          = 1;
            db.SaveChanges();
            var odetail = db.OrderDetail_Table.Where(x => x.Orderid == order.OrderId).Select(x => x.OrderDetailId).ToList();

            foreach (var item in odetail)
            {
                int               flag     = 0;
                List <int>        availid1 = TempData["avail1"] as List <int>;
                OrderDetail_Table obj1     = db.OrderDetail_Table.Where(x => x.OrderDetailId == item).FirstOrDefault();
                foreach (var pro in availid1)
                {
                    if (obj1.Productid == pro)
                    {
                        Product_Table pobj  = db.Product_Table.Where(x => x.ProductId == pro).FirstOrDefault();
                        int           stock = Convert.ToInt32(pobj.ProductStock);
                        int           qty   = Convert.ToInt32(obj1.Quantity);
                        pobj.ProductStock = stock - qty;
                        db.SaveChanges();
                        flag = 1;
                    }
                }
                if (flag == 1)
                {
                    int           lid    = Convert.ToInt32(Session["location"]);
                    Service_Table serboj = db.Service_Table.Where(x => x.ServiceProviderid == obj.UserId && x.Locationid == lid).FirstOrDefault();
                    obj1.Serviceid = serboj.ServiceId;
                    db.SaveChanges();
                }
                else
                {
                    db.OrderDetail_Table.Remove(obj1);
                    db.SaveChanges();
                }
            }
            count_cart();
            Session["location"] = null;
            return(RedirectToAction("notification"));
        }
        public JsonResult remove_cart(int id)
        {
            OrderDetail_Table obj = db.OrderDetail_Table.Where(x => x.Productid == id).FirstOrDefault();

            db.OrderDetail_Table.Remove(obj);
            db.SaveChanges();
            OrderDetail_Table obj1 = db.OrderDetail_Table.Where(x => x.Orderid == obj.Orderid).FirstOrDefault();

            if (obj1 == null)
            {
                Order_Table obj2 = db.Order_Table.Where(x => x.OrderId == obj.Orderid).FirstOrDefault();
                obj2.OrderIsDeleted = true;
                db.SaveChanges();
            }
            count_cart();
            var redirectUrl = new UrlHelper(Request.RequestContext).Action("cart", "Buyer");

            return(Json(new { Url = redirectUrl }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult order(Book obj, string amt)
        {
            string name  = Session["user"].ToString();
            int    pid   = Convert.ToInt32(Session["pro_id"].ToString());
            int    stock = db.Product_Table.Where(x => x.ProductId == pid).Select(x => x.ProductStock).FirstOrDefault();

            if (obj.Quantity <= stock)
            {
                Order_Table       order        = new Order_Table();
                OrderDetail_Table order_detail = new OrderDetail_Table();
                order.TotalAmount          = Convert.ToInt32(amt);
                order.OrderDeliveryAddress = obj.OrderDelivryAddress;
                order.OrderDeliveryDate    = System.DateTime.Now.AddDays(5);
                order.Userid            = db.User_Table.Where(x => x.UserName == name).Select(x => x.UserId).FirstOrDefault();
                order.OrderCreatedBy    = name;
                order.OrderUpdatedBy    = name;
                order.OrderCreatedDate  = System.DateTime.Now;
                order.OrderUpdatedDate  = System.DateTime.Now;
                order.OrderIsDeleted    = false;
                order.OrderStatus       = 1;
                order.OrderNotification = "00";
                db.Order_Table.Add(order);
                db.SaveChanges();
                int oid = order.OrderId;
                order_detail.Orderid   = oid;
                order_detail.Productid = pid;
                int           lid    = Convert.ToInt32(Session["location"]);
                Service_Table serboj = db.Service_Table.Where(x => x.ServiceProviderid == obj.UserId && x.Locationid == lid).FirstOrDefault();
                order_detail.Serviceid = serboj.ServiceId;
                order_detail.Quantity  = obj.Quantity;
                order_detail.Amount    = Convert.ToInt32(amt);
                db.OrderDetail_Table.Add(order_detail);
                db.SaveChanges();
                Product_Table pobj = db.Product_Table.Where(x => x.ProductId == pid).FirstOrDefault();
                pobj.ProductStock = stock - obj.Quantity;
                db.SaveChanges();
            }
            Session["location"] = null;
            return(RedirectToAction("notification"));
        }