public async Task <IActionResult> Add(CourseAndCategoryViewModels model) { if (ModelState.IsValid) { var doesCourseExists = _db.Course.Include(s => s.Category).Where(s => s.Name == model.Course.Name && s.Category.Id == model.Course.CategoryId); if (doesCourseExists.Count() > 0) { StatusMessage = "Error : Course already exists in " + doesCourseExists.First().Category.Name + " category. Please use another name."; } else { _db.Course.Add(model.Course); await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } } CourseAndCategoryViewModels modelVM = new CourseAndCategoryViewModels() { CategoryList = await _db.Category.ToListAsync(), Course = model.Course, CourseList = await _db.Course.OrderBy(p => p.Name).Select(p => p.Name).ToListAsync(), StatusMessage = StatusMessage, }; return(View(modelVM)); }
//Get - Add public async Task <IActionResult> Add() { CourseAndCategoryViewModels model = new CourseAndCategoryViewModels() { CategoryList = await _db.Category.ToListAsync(), Course = new Models.Course(), CourseList = await _db.Course.OrderBy(p => p.Name).Select(p => p.Name).Distinct().ToListAsync(), }; return(View(model)); }
//Get - Edit public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var subCategory = await _db.Course.SingleOrDefaultAsync(m => m.Id == id); if (subCategory == null) { return(NotFound()); } CourseAndCategoryViewModels model = new CourseAndCategoryViewModels() { CategoryList = await _db.Category.ToListAsync(), Course = subCategory, CourseList = await _db.Course.OrderBy(p => p.Name).Select(p => p.Name).Distinct().ToListAsync() }; return(View(model)); }