public async Task <IActionResult> AddGroups(AddGroupsToTeacherViewModel model) { var teacherId = await CheckTeacherId(this.TempData["teacherId"]); await this.teachersService.AddGroups(model); return(await Task.Run(() => RedirectToAction("Details", new { teacherId = teacherId }))); }
public async Task <IActionResult> AddGroups(int teacherId) { await CheckTeacherId(teacherId); this.TempData["teacherId"] = teacherId; var groupsList = this.groupsService.GetAllForSelection(false).ToList(); var outputModel = new AddGroupsToTeacherViewModel() { Groups = groupsList }; return(await Task.Run(() => this.View("AddGroups", outputModel))); }
public async Task <int> AddGroups(AddGroupsToTeacherViewModel model) { var teacher = await this.db.Teachers.FirstOrDefaultAsync(x => x.Id == model.TeacherId); var groupsIds = model.Groups.Where(x => x.Selected).Select(x => x.Id).ToArray(); var groupsForTeacher = this.db.Groups.Where(x => groupsIds.Contains(x.Id)).ToArray(); foreach (var group in groupsForTeacher) { group.TeacherId = teacher.Id; } teacher.Status = TeacherStatus.Active; return(await this.db.SaveChangesAsync()); }