public async Task <IActionResult> Create(CategoryAndSubsVM vM) { if (ModelState.IsValid) { var sub = _db.SubCategory.Include(s => s.Category).Where(s => s.Name == vM.SubCategory.Name && s.Category.Id == vM.SubCategory.CategoryId); if (sub.Count() > 0) { //error msg = "Error: The Sub Category" + vM.SubCategory.Name + " already exists in " + sub.First().Category.Name + " Category. Please try another name"; } else { _db.SubCategory.Add(vM.SubCategory); await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } } CategoryAndSubsVM subsVM = new CategoryAndSubsVM() { lstCategory = await _db.Category.ToListAsync(), SubCategory = vM.SubCategory, lstSubCategory = await _db.SubCategory.OrderBy(s => s.Name).Select(s => s.Name).Distinct().ToListAsync(), StatusMsg = msg }; return(View(subsVM)); }
//get Create public async Task <IActionResult> Create() { CategoryAndSubsVM categoryAndSubsVM = new CategoryAndSubsVM() { lstCategory = await _db.Category.ToListAsync(), SubCategory = new Models.SubCategory(), lstSubCategory = await _db.SubCategory.OrderBy(s => s.Name).Select(s => s.Name).Distinct().ToListAsync() }; return(View(categoryAndSubsVM)); }
// get Edit public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var subs = await _db.SubCategory.SingleOrDefaultAsync(x => x.Id == id); if (subs == null) { return(NotFound()); } CategoryAndSubsVM categoryAndSubsVM = new CategoryAndSubsVM() { lstCategory = await _db.Category.ToListAsync(), SubCategory = subs, lstSubCategory = await _db.SubCategory.OrderBy(s => s.Name).Select(s => s.Name).Distinct().ToListAsync() }; return(View(categoryAndSubsVM)); }