예제 #1
0
        public async Task <EditTeacherDataAccountView> LoadDataForEditTeacherAccount(string userName)
        {
            Teacher teacher = await _teacherRepository.GetTeacherByName(userName);

            if (teacher is null)
            {
                throw new AdminException("User not found");
            }

            EditTeacherDataAccountView viewModel = _teacherMapper.MapEditTeacherModelsToEditViewModels(teacher);

            return(viewModel);
        }
예제 #2
0
        public async Task <IActionResult> EditTeacherInformation(EditTeacherInformationView viewModel)
        {
            try
            {
                await _adminService.EditTeacherInformation(viewModel);

                return(await EditTeacherAccount(viewModel.Username));
            }
            catch (BaseException ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);

                EditTeacherDataAccountView result = await _adminService.LoadDataForEditTeacherAccount(viewModel.Username);

                return(View(viewName: "Teachers/EditTeacherAccount", result));
            }
        }
예제 #3
0
        public EditTeacherDataAccountView MapEditTeacherModelsToEditViewModels(Teacher teacher)
        {
            var viewModel = new EditTeacherDataAccountView();

            viewModel.Id          = teacher.Id;
            viewModel.FirstName   = teacher.FirstName;
            viewModel.LastName    = teacher.LastName;
            viewModel.MiddleName  = teacher.MiddleName;
            viewModel.PhoneNumber = teacher.PhoneNumber;
            viewModel.BirthDate   = teacher.BirthDate.ToString("yyyy");
            viewModel.Username    = teacher.UserName;
            viewModel.Email       = teacher.Email;
            viewModel.AddressLine = teacher.AddressLine;
            viewModel.CathedraId  = teacher.CompanyId;

            return(viewModel);
        }
예제 #4
0
        public async Task <IActionResult> EditTeacherAccount(string userName)
        {
            EditTeacherDataAccountView result = await _adminService.LoadDataForEditTeacherAccount(userName);

            return(View(viewName: "Teachers/EditTeacherAccount", result));
        }