public ActionResult Delete(int id, Enums.ManageType manageType) { using (var entities = new EntityModel.DatabaseContext()) { switch (manageType) { case Enums.ManageType.Product: entities.Products.SingleOrDefault(x => x.IsValid && x.Id == id).IsValid = false; // Changelog break; case Enums.ManageType.Category: foreach (var product in entities.Products) { if (product.ProductCategoryId == id) { product.IsValid = false; } } entities.ProductCategorys.SingleOrDefault(x => x.IsValid && x.Id == id).IsValid = false; break; default: break; } entities.SaveChanges(); return(RedirectToAction("Index", new { HasBeenDeleted = true, ManageType = manageType })); } }
public ActionResult Create() { var viewmodel = new ViewModels.ProductViewModels.CreateProductViewModel(); using (var entities = new EntityModel.DatabaseContext()) { viewmodel.AvaiableProductCategories = Management.ActionHandler.SetupAvaiableCategoryTypes(entities.ProductCategorys.ToList()); } return(View(viewmodel)); }
public ActionResult ShowProductsInCategory(int categoryId) { var viewmodel = Management.ActionHandler.PopulateProductListViewModel(); viewmodel.Products = viewmodel.Products.Where(x => x.ProductCategoryId == categoryId).ToList(); viewmodel.CategoryId = categoryId; using (var entities = new EntityModel.DatabaseContext()) // finns bättre lösning för att slippa dubbel sql sträng? { viewmodel.CategoryName = entities.ProductCategorys.SingleOrDefault(x => x.Id == categoryId).Name; } return(View(viewmodel)); }
public ActionResult Edit(ViewModels.CategoryViewModels.EditCategoryViewModel viewmodel) { if (!ModelState.IsValid) { return(View(viewmodel)); } using (var entities = new EntityModel.DatabaseContext()) { var model = entities.ProductCategorys.SingleOrDefault(x => x.Id == viewmodel.Id); model.Name = viewmodel.Name; model.IsValid = viewmodel.IsValid; // delete function! fix productlist } return(View()); }
public ActionResult Edit(int categoryId) { using (var entities = new EntityModel.DatabaseContext()) { var model = entities.ProductCategorys.SingleOrDefault(x => x.Id == categoryId); var viewmodel = new ViewModels.CategoryViewModels.EditCategoryViewModel { Id = model.Id, Name = model.Name, IsValid = model.IsValid }; return(View(viewmodel)); } }
public ActionResult Index() { var viewmodel = new ViewModels.CategoryViewModels.ListCategoriesViewModel(); using (var entities = new EntityModel.DatabaseContext()) { viewmodel.Categories.AddRange(entities.ProductCategorys.Where(c => c.IsValid).Select(x => new ViewModels.CategoryViewModels.ListCategoriesViewModel.CategoryViewModel { Id = x.Id, Name = x.Name, AvaiableProducts = entities.Products.Where(z => z.IsValid && z.ProductCategoryId == x.Id).Count() })); } viewmodel.RoleTypes = Management.ActionHandler.GetRolesForUser(User.Identity.GetUserId()); return(View(viewmodel)); }
public ActionResult Edit(int productId) { using (var entities = new EntityModel.DatabaseContext()) { var model = entities.Products.SingleOrDefault(x => x.Id == productId); var viewmodel = new ViewModels.ProductViewModels.EditProductViewModel() { Id = model.Id, Name = model.Name, Description = model.Description, Price = model.Price, AvaiableProductCategories = Management.ActionHandler.SetupAvaiableCategoryTypes(entities.ProductCategorys.ToList()), ProductCategoryName = entities.ProductCategorys.SingleOrDefault(x => x.Id == model.ProductCategoryId).Name }; return(View(viewmodel)); } }
public static ViewModels.ProductViewModels.ListProductsViewModel PopulateProductListViewModel() { var viewmodel = new ViewModels.ProductViewModels.ListProductsViewModel(); using (var entities = new EntityModel.DatabaseContext()) { viewmodel.Products.AddRange(entities.Products.Where(c => c.IsValid).Select(x => new ViewModels.ProductViewModels.ListProductsViewModel.ProductViewModel { Id = x.Id, Name = x.Name, Price = x.Price, Description = x.Description, ProductCategoryName = entities.ProductCategorys.FirstOrDefault(z => z.Id == x.ProductCategoryId).Name, ProductCategoryId = entities.Products.FirstOrDefault(p => p.Id == x.ProductCategoryId).Id })); } return(viewmodel); }
public ActionResult Create(ViewModels.ProductViewModels.CreateProductViewModel viewmodel) { if (!ModelState.IsValid) { return(View(viewmodel)); } using (var entities = new EntityModel.DatabaseContext()) { viewmodel.ProductCategoryId = entities.ProductCategorys.SingleOrDefault(x => x.Name == viewmodel.ProductCategoryName).Id; viewmodel.AvaiableProductCategories = Management.ActionHandler.SetupAvaiableCategoryTypes(entities.ProductCategorys.ToList()); entities.Products.Add(Management.ActionHandler.Create(new EntityModel.Product(), viewmodel)); entities.SaveChanges(); var lastId = entities.Products.Where(c => c.IsValid).Count(); return(RedirectToAction("ShowProduct", new { productId = lastId })); } }
public ActionResult Create(ViewModels.CategoryViewModels.CreateCategoryViewModel viewmodel) { if (!ModelState.IsValid) { return(View(viewmodel)); } using (var entities = new EntityModel.DatabaseContext()) { entities.ProductCategorys.Add(new EntityModel.ProductCategory { Name = viewmodel.Name, IsValid = true, }); entities.SaveChanges(); } return(RedirectToAction("Index", "Home")); }
public ActionResult Edit(ViewModels.ProductViewModels.EditProductViewModel viewmodel) { if (!ModelState.IsValid) { return(View(viewmodel)); } using (var entities = new EntityModel.DatabaseContext()) { viewmodel.AvaiableProductCategories = Management.ActionHandler.SetupAvaiableCategoryTypes(entities.ProductCategorys.ToList()); var model = entities.Products.SingleOrDefault(x => x.Id == viewmodel.Id); model.Name = viewmodel.Name; model.Description = viewmodel.Description; model.Price = viewmodel.Price; model.ProductCategoryId = entities.ProductCategorys.SingleOrDefault(x => x.Name == viewmodel.ProductCategoryName).Id; entities.SaveChanges(); return(RedirectToAction("ShowProduct", new { productId = model.Id })); } }