public async Task <ActionResult> Edit(TeacherEditViewModel model) { if (ModelState.IsValid) { UpdateStudentProfileRequest updateStudentProfileRequest = new UpdateStudentProfileRequest() { Id = model.Id, FirstName = model.FirstName, LastName = model.LastName, Email = model.Email, GroupId = null }; await _studentAdminService.UpdateProfileAsync(updateStudentProfileRequest); return(RedirectToAction("Index")); } ViewBag.Title = "Editing an account"; return(View(model)); }
// TODO: Throw exception public async Task UpdateProfileAsync(UpdateStudentProfileRequest request) { var student = await UnitOfWork.UserProfileRepository.Query(x => x.Id == request.Id) .Include(x => x.User) .Include(x => x.Group) .Include(x => x.Subjects) .Include(x => x.Results) .FirstOrDefaultAsync(); if (student == null) { throw new ArgumentNullException(); } student.FirstName = request.FirstName; student.LastName = request.LastName; student.GroupId = request.GroupId; student.Email = request.Email; student.User.Email = request.Email; student.SearchFullName = request.FirstName?.ToLower() + request.LastName?.ToLower(); UnitOfWork.UserProfileRepository.Update(student); await UnitOfWork.SaveChangesAsync(); }