public async Task <IActionResult> Create(SubCompetitionAndCompetitionViewModel model) { if (ModelState.IsValid) { var doesSubCompetitionExists = _db.SubCompetition.Include(s => s.Competition).Where(s => s.Name == model.SubCompetition.Name && s.Competition.Id == model.SubCompetition.CompetitionId); if (doesSubCompetitionExists.Count() > 0) { //Error StatusMessage = "Error : Sub Competition exists under " + doesSubCompetitionExists.First().Competition.Name + " Competition. Please use another name. "; } else { _db.SubCompetition.Add(model.SubCompetition); await _db.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } } SubCompetitionAndCompetitionViewModel modelVM = new SubCompetitionAndCompetitionViewModel() { CompetitionList = await _db.Competition.ToListAsync(), SubCompetition = model.SubCompetition, SubCompetitionList = await _db.SubCompetition.OrderBy(p => p.Name).Select(p => p.Name).ToListAsync(), StatusMessage = StatusMessage }; return(View(modelVM)); }
//GET - CREATE public async Task <IActionResult> Create() { SubCompetitionAndCompetitionViewModel model = new SubCompetitionAndCompetitionViewModel() { CompetitionList = await _db.Competition.ToListAsync(), SubCompetition = new Models.SubCompetition(), SubCompetitionList = await _db.SubCompetition.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 subCompetition = await _db.SubCompetition.SingleOrDefaultAsync(m => m.Id == id); if (subCompetition == null) { return(NotFound()); } SubCompetitionAndCompetitionViewModel model = new SubCompetitionAndCompetitionViewModel() { CompetitionList = await _db.Competition.ToListAsync(), SubCompetition = subCompetition, SubCompetitionList = await _db.SubCompetition.OrderBy(p => p.Name).Select(p => p.Name).Distinct().ToListAsync() }; return(View(model)); }