public ActionResult Index()
        {
            var db   = new MvcDB();
            var data = db.Baskets.Include("Product").Where(x => x.UserID == LoginUserID);

            return(View(data));
        }
        public ActionResult Index()
        {
            var db   = new MvcDB();
            var data = db.Orders.Include("Status").Where(x => x.UserID == LoginUserID).ToList();

            return(View(data));
        }
        public ActionResult CreateOrder(int id) //addresslist.cshtml içinde idyi verdik.
        {
            var   db    = new MvcDB();
            var   sepet = db.Baskets.Include("Product").Where(x => x.UserID == LoginUserID).ToList();//ürünün fiyatı vs hepsi lazım olacak o yüzden include ettik.
            Order order = new Order();

            order.CreateDate        = DateTime.Now;
            order.CreateUserID      = LoginUserID;
            order.StatusID          = 1;
            order.TotalProductPrice = sepet.Sum(x => x.Product.Price);
            order.TotalTaxPrice     = sepet.Sum(x => x.Product.Tax);
            order.TotalDiscount     = sepet.Sum(x => x.Product.Discount);
            order.TotalPrice        = order.TotalProductPrice + order.TotalTaxPrice;
            order.UserAddressID     = id;
            order.UserID            = LoginUserID;

            order.OrderProducts = new List <OrderProduct>();
            foreach (var item in sepet)
            {
                order.OrderProducts.Add(new OrderProduct {
                    CreateDate   = DateTime.Now,
                    CreateUserID = LoginUserID,
                    ProductID    = item.ProductID,
                    Quantity     = item.Quantity
                });
                db.Baskets.Remove(item);
            }
            db.Orders.Add(order);

            db.SaveChanges();
            return(RedirectToAction("Detail", new { id = order.ID }));
        }
        public ActionResult AddressList()
        {
            var db   = new MvcDB();
            var data = db.Addresses.Where(x => x.UserID == LoginUserID).ToList();

            return(View(data));
        }
        public ActionResult Detail(string title, int id)
        {
            ViewBag.IsLogin = this.IsLogin;
            var db   = new MvcDB();
            var prod = db.Products.Where(x => x.ID == id).FirstOrDefault();

            return(View(prod));
        }
        public ActionResult Index(string isim, int id)
        {
            ViewBag.IsLogin = this.IsLogin;
            var db   = new MvcDB();
            var data = db.Products.Where(x => x.IsActive == 1 && x.CategoryID == id).OrderByDescending(x => x.ID).ToList();//db category tabledaki isactive alanı bool çevirince buradaki isactive i true ile değiştir.

            ViewBag.category = db.Categories.Where(x => x.ID == id).FirstOrDefault();
            return(View(data));
        }
        public ActionResult Delete(int id)
        {
            var db         = new MvcDB();
            var deleteitem = db.Baskets.Where(x => x.ID == id).FirstOrDefault();

            db.Baskets.Remove(deleteitem);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public ActionResult Pay(int id)
        {
            var db    = new MvcDB();
            var order = db.Orders.Where(x => x.ID == id).FirstOrDefault();

            order.StatusID = 8;
            db.SaveChanges();
            return(RedirectToAction("Detail", new { id = order.ID }));
        }
        public ActionResult Detail(int id)
        {
            var db   = new MvcDB();
            var data = db.Orders.Include("OrderProducts")
                       .Include("OrderProducts.Product")
                       .Include("OrderPayments")
                       .Include("Status")
                       .Include("UserAddress")
                       .Where(x => x.ID == id).FirstOrDefault();

            return(View(data));
        }
        public ActionResult CreateUserAddress(UserAddress entity)
        {
            entity.CreateDate   = DateTime.Now;
            entity.CreateUserID = LoginUserID;
            entity.IsActive     = true;
            entity.UserID       = LoginUserID;

            var db = new MvcDB();

            db.Addresses.Add(entity);
            db.SaveChanges();
            return(RedirectToAction("AddressList"));
        }
        public JsonResult AddProduct(int productID, int quantity)
        {
            var db = new MvcDB();

            db.Baskets.Add(new Core.Model.Entity.Basket
            {
                CreateDate   = DateTime.Now,
                CreateUserID = LoginUserID,
                ProductID    = productID,
                Quantity     = quantity,
                UserID       = LoginUserID
            });
            var rt = db.SaveChanges();

            return(Json(rt, JsonRequestBehavior.AllowGet));
        }