public ActionResult Index(string sort)
        {
            var model = new ViewModels.CategoryIndexViewModel();

            using (var db = new EcommerceModel())
            {
                model.Categories.AddRange(db.Categories.Select(r => new ViewModels.CategoryIndexViewModel.CategoryListViewModel
                {
                    Name       = r.Name,
                    CategoryId = r.CategoryId
                }));
            }

            if (sort == "NamnAsc")
            {
                model.Categories = model.Categories.OrderBy(r => r.Name).ToList();
            }
            else if (sort == "NamnDesc")
            {
                model.Categories = model.Categories.OrderByDescending(r => r.Name).ToList();
            }

            model.CurrentSort = sort;

            return(View(model));
        }
        // GET: Product
        public ActionResult Index(string sort, int Id)
        {
            var model = new ViewModels.ProductIndexViewModel();

            using (var db = new EcommerceModel())
            {
                model.ProductList.AddRange(db.Products.Select(p => new ViewModels.ProductIndexViewModel.ProductListViewModel
                {
                    ProductId   = p.ProductId,
                    Name        = p.Name,
                    Description = p.Description,
                    Price       = p.Price,
                    CategoryId  = p.CategoryId
                }).Where(p => p.CategoryId == Id));
            }

            if (sort == "NamnAsc")
            {
                model.ProductList = model.ProductList.OrderBy(r => r.Name).ToList();
            }
            else if (sort == "NamnDesc")
            {
                model.ProductList = model.ProductList.OrderByDescending(r => r.Name).ToList();
            }

            model.CurrentSort = sort;
            return(View(model));
        }
Example #3
0
        public ViewResult Search(string sortOrder, string searchString)
        {
            var model = new ProductIndexViewModel();

            model.SearchAll = searchString;
            if (!string.IsNullOrWhiteSpace(searchString))
            {
                using (var db = new EcommerceModel())
                {
                    model.ProductList.AddRange(db.Products
                                               .Select(x => new ProductIndexViewModel.ProductListViewModel
                    {
                        ProductId   = x.ProductId,
                        Name        = x.Name,
                        Description = x.Description,
                        Price       = x.Price,
                        CategoryId  = x.CategoryId
                    }));

                    model.ProductList = model.ProductList.Where(x => x.Name.ToUpper().Contains(searchString.ToUpper()) ||
                                                                x.Description.ToUpper().Contains(searchString.ToUpper())).ToList();

                    model = SortProducts(sortOrder, model);

                    return(View("Search", model));
                }
            }
            return(View("Search", model));
        }
 public ActionResult Edit(int id)
 {
     using (var db = new EcommerceModel())
     {
         var cats  = db.Categories.FirstOrDefault(p => p.CategoryId == id);
         var model = new ViewModels.CategoryEditViewModel
         {
             Name       = cats.Name,
             CategoryId = cats.CategoryId,
         };
         return(View(model));
     }
 }
 public ActionResult DeleteConfirm(int?id)
 {
     using (var db = new EcommerceModel())
     {
         var obj = db.Categories.Find(id);
         if (obj != null)
         {
             db.Categories.Remove(obj);
             db.SaveChanges();
         }
         return(RedirectToAction("Index"));
     }
 }
 public ActionResult DeleteConfirm(int?id)
 {
     using (var db = new EcommerceModel())
     {
         var obj = db.Products.Find(id);
         if (obj != null)
         {
             db.Products.Remove(obj);
             db.SaveChanges();
             return(RedirectToAction("Index", "Product", new { id = obj.CategoryId }));
         }
         return(RedirectToAction("Index", "Home"));
     }
 }
Example #7
0
        public ActionResult Index()
        {
            var model = new ViewModels.CategoryIndexViewModel();

            using (var db = new EcommerceModel())
            {
                model.Categories.AddRange(db.Categories.Select(r => new ViewModels.CategoryIndexViewModel.CategoryListViewModel
                {
                    Name       = r.Name,
                    CategoryId = r.CategoryId
                }));
            }
            return(View(model));
        }
 public ActionResult Delete(int?id)
 {
     using (var db = new EcommerceModel())
     {
         var cat = db.Categories.Find(id);
         //new Createviewmodel för att Delete hade haft samma prop
         var model = new CategoryCreateViewModel
         {
             CategoryId = cat.CategoryId,
             Name       = cat.Name
         };
         return(View(model));
     }
 }
        public ActionResult View(int Id)
        {
            var viewModel = new ProductViewViewModel();

            using (var db = new EcommerceModel())
            {
                var product = db.Products.FirstOrDefault(p => p.ProductId == Id);
                viewModel.Name        = product.Name;
                viewModel.Price       = product.Price;
                viewModel.Description = product.Description;
                viewModel.CategoryId  = product.CategoryId;
                viewModel.ProductId   = product.ProductId;
            }
            return(View(viewModel));
        }
        public ActionResult Edit(ViewModels.CategoryEditViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            using (var db = new EcommerceModel())
            {
                var cats = db.Categories.FirstOrDefault(r => r.CategoryId == model.CategoryId);
                cats.Name       = model.Name;
                cats.CategoryId = model.CategoryId;
                db.SaveChanges();
            }

            return(RedirectToAction("Index", "Category", new { id = model.CategoryId }));
        }
 public ActionResult Edit(int id)
 {
     using (var db = new EcommerceModel())
     {
         var prod  = db.Products.FirstOrDefault(p => p.ProductId == id);
         var model = new ViewModels.ProductEditViewModel
         {
             Name        = prod.Name,
             Description = prod.Description,
             Price       = prod.Price,
             CategoryId  = prod.CategoryId,
             ProductId   = prod.ProductId,
         };
         SetupAvailableCatagories(model);
         return(View(model));
     }
 }
 public ActionResult Create(ViewModels.CategoryCreateViewModel model)
 {
     if (!ModelState.IsValid)
     {
         return(View(model));
     }
     using (var db = new EcommerceModel())
     {
         var cat = new Models.CategoryModel
         {
             Name = model.Name,
         };
         db.Categories.Add(cat);
         db.SaveChanges();
     }
     return(RedirectToAction("Index"));
 }
 public ActionResult Delete(int?id)
 {
     using (var db = new EcommerceModel())
     {
         var prod = db.Products.Find(id);
         //using new prodCreate, it has the same prop as if i would do a deleteviewmodel
         var model = new ProductCreateViewModel
         {
             ProductId   = prod.ProductId,
             Name        = prod.Name,
             Description = prod.Description,
             Price       = prod.Price,
             CategoryId  = prod.CategoryId
         };
         return(View(model));
     }
 }
        public ActionResult Edit(ViewModels.ProductEditViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            using (var db = new EcommerceModel())
            {
                var prod = db.Products.FirstOrDefault(r => r.ProductId == model.ProductId);
                prod.Name        = model.Name;
                prod.Description = model.Description;
                prod.Price       = model.Price;
                prod.CategoryId  = model.CategoryId;
                db.SaveChanges();
            }

            return(RedirectToAction("Index", "Product", new { id = model.CategoryId }));
        }
 //SetUpAvailableCat FÖR CREATE
 void SetupAvailableCatagories(ViewModels.ProductCreateViewModel model)
 {
     model.AvailableCategory = new List <SelectListItem>
     {
         new SelectListItem {
             Value = null, Text = "..Choose a catagory.."
         },
     };
     using (var db = new EcommerceModel())
     {
         foreach (var cat in db.Categories)
         {
             model.AvailableCategory.Add(new SelectListItem {
                 Value = cat.CategoryId.ToString(), Text = cat.Name
             });
         }
     }
 }
        public ActionResult Create(ViewModels.ProductCreateViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            using (var db = new EcommerceModel())
            {
                var pro = new Models.ProductsModel

                {
                    Name        = model.Name,
                    Description = model.Description,
                    Price       = model.Price,
                    CategoryId  = model.CategoryId
                };
                db.Products.Add(pro);
                db.SaveChanges();
            }
            return(RedirectToAction("Index", "Product", new { id = model.CategoryId }));
        }
        public ViewResult Search(string sortOrder, string searchString)
        {
            EcommerceModel db = new EcommerceModel();

            ViewBag.NameSortParm  = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";
            ViewBag.PriceSortParm = sortOrder == "Price" ? "price_desc" : "Price";
            ViewBag.CurrentFilter = searchString;
            var prod = from s in db.Products
                       select s;

            if (!String.IsNullOrEmpty(searchString))
            {
                prod = prod.Where(p => p.Name.Contains(searchString) || p.Description.Contains(searchString));
            }
            var prods = from p in db.Products
                        select p;

            switch (sortOrder)
            {
            case "name_desc":
                prod = prod.OrderByDescending(s => s.Name);
                break;

            case "Price":
                prod = prod.OrderBy(s => s.Price);
                break;

            case "price_desc":
                prod = prod.OrderByDescending(s => s.Price);
                break;

            default:
                prod = prod.OrderBy(s => s.Name);
                break;
            }

            return(View(prod));
        }