예제 #1
0
        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));
        }
예제 #2
0
        // 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();
        }