public IActionResult Index(SortState sortState = SortState.CarMarkNameAsc, int page = 1) { CarMarksFilterViewModel filter = HttpContext.Session.Get <CarMarksFilterViewModel>(filterKey); if (filter == null) { filter = new CarMarksFilterViewModel { CarMarkName = string.Empty }; HttpContext.Session.Set(filterKey, filter); } string modelKey = $"{typeof(CarMark).Name}-{page}-{sortState}-{filter.CarMarkName}"; if (!cache.TryGetValue(modelKey, out CarMarkViewModel model)) { model = new CarMarkViewModel(); IQueryable <CarMark> carMarks = GetSortedEntities(sortState, filter.CarMarkName); int count = carMarks.Count(); int pageSize = 10; model.PageViewModel = new PageViewModel(page, count, pageSize); model.Entities = count == 0 ? new List <CarMark>() : carMarks.Skip((model.PageViewModel.CurrentPage - 1) * pageSize).Take(pageSize).ToList(); model.SortViewModel = new SortViewModel(sortState); model.CarMarksFilterViewModel = filter; cache.Set(modelKey, model); } return(View(model)); }
public async Task <IActionResult> Delete(int id, int page) { CarMark carMark = await db.CarMarks.FindAsync(id); if (carMark == null) { return(NotFound()); } bool deleteFlag = false; string message = "Do you want to delete this entity"; if (db.CarModels.Any(s => s.CarMarkId == carMark.CarMarkId)) { message = "This entity has entities, which dependents from this. Do you want to delete this entity and other, which dependents from this?"; } CarMarkViewModel model = new CarMarkViewModel(); model.Entity = carMark; model.PageViewModel = new PageViewModel { CurrentPage = page }; model.DeleteViewModel = new DeleteViewModel { Message = message, IsDeleted = deleteFlag }; return(View(model)); }
public IActionResult Create(int page) { CarMarkViewModel model = new CarMarkViewModel { PageViewModel = new PageViewModel { CurrentPage = page } }; return(View(model)); }
public async Task <IActionResult> Create(CarMarkViewModel model) { if (ModelState.IsValid & CheckUniqueValues(model.Entity)) { await db.CarMarks.AddAsync(model.Entity); await db.SaveChangesAsync(); cache.Clean(); return(RedirectToAction("Index", "CarMarks")); } return(View(model)); }
public async Task <IActionResult> Edit(int id, int page) { CarMark carMark = await db.CarMarks.FindAsync(id); if (carMark != null) { CarMarkViewModel model = new CarMarkViewModel(); model.PageViewModel = new PageViewModel { CurrentPage = page }; model.Entity = carMark; return(View(model)); } return(NotFound()); }
public async Task <IActionResult> Delete(CarMarkViewModel model) { CarMark carMark = await db.CarMarks.FindAsync(model.Entity.CarMarkId); if (carMark == null) { return(NotFound()); } db.CarMarks.Remove(carMark); await db.SaveChangesAsync(); cache.Clean(); model.DeleteViewModel = new DeleteViewModel { Message = "The entity was successfully deleted.", IsDeleted = true }; return(View(model)); }
public async Task <IActionResult> Edit(CarMarkViewModel model) { if (ModelState.IsValid & CheckUniqueValues(model.Entity)) { CarMark carMark = db.CarMarks.Find(model.Entity.CarMarkId); if (carMark != null) { carMark.Name = model.Entity.Name; db.CarMarks.Update(carMark); await db.SaveChangesAsync(); cache.Clean(); return(RedirectToAction("Index", "CarMarks", new { page = model.PageViewModel.CurrentPage })); } else { return(NotFound()); } } return(View(model)); }