// POST public async Task <IActionResult> AddRankAndForms(StudentAddStyle addStudentRank) { ViewData["Forms"] = new SelectList(_context.Form.Where(f => f.StyleId == addStudentRank.StyleId), "Id", "Name", addStudentRank.FormsList); ViewData["Ranks"] = new SelectList(_context.Rank.Where(f => f.StyleId == addStudentRank.StyleId), "Id", "Name", addStudentRank.RankId); if (ModelState.IsValid) { StudentStyle newStyle = new StudentStyle { StudentId = addStudentRank.StudentId, StyleId = addStudentRank.StyleId, RankId = addStudentRank.RankId }; _context.StudentStyle.Add(newStyle); foreach (int formid in addStudentRank.FormsList) { StudentForms newForm = new StudentForms { StudentId = addStudentRank.StudentId, StyleId = addStudentRank.StyleId, FormId = formid }; _context.StudentForms.Add(newForm); } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Details), new { id = addStudentRank.StudentId })); } return(View(addStudentRank)); }
// POST public async Task <IActionResult> EditRankAndForms(StudentAddStyle editStudentRank) { ViewData["Forms"] = new SelectList(_context.Form.Where(f => f.StyleId == editStudentRank.StyleId), "Id", "Name", editStudentRank.FormsList); ViewData["Ranks"] = new SelectList(_context.Rank.Where(f => f.StyleId == editStudentRank.StyleId), "Id", "Name", editStudentRank.RankId); if (ModelState.IsValid) { StudentStyle updatedRank = _context.StudentStyle.First(s => s.StudentId == editStudentRank.StudentId && s.StyleId == editStudentRank.StyleId); updatedRank.RankId = editStudentRank.RankId; _context.StudentStyle.Update(updatedRank); List <StudentForms> deleteForms = _context.StudentForms.Where(s => s.StudentId == editStudentRank.StudentId && s.StyleId == editStudentRank.StyleId).ToList(); foreach (StudentForms item in deleteForms) { _context.StudentForms.Remove(item); } foreach (int formid in editStudentRank.FormsList) { StudentForms newForm = new StudentForms { StudentId = editStudentRank.StudentId, StyleId = editStudentRank.StyleId, FormId = formid }; _context.StudentForms.Add(newForm); } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Details), new { id = editStudentRank.StudentId })); } return(View(editStudentRank)); }
public async Task <IActionResult> Create(StudentCreateViewModel newStudent) { if (ModelState.IsValid) { newStudent.Student.Active = true; newStudent.Student.InternalRankId = 1; _context.Add(newStudent.Student); //create StudentStyle object here StudentStyle newstudentStyle = new StudentStyle { StudentId = newStudent.Student.Id, StyleId = newStudent.StartingStyle, RankId = newStudent.StartingRank }; _context.StudentStyle.Add(newstudentStyle); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(newStudent)); }