コード例 #1
0
 public void MapTeacherViewModelToModel(RegisterNewTeacherUserAccountView viewModel, Teacher model)
 {
     model.FirstName   = viewModel.FirstName;
     model.LastName    = viewModel.LastName;
     model.MiddleName  = viewModel.MiddleName;
     model.PhoneNumber = viewModel.PhoneNumber;
     model.AddressLine = viewModel.AddressLine;
 }
コード例 #2
0
ファイル: AdminService.cs プロジェクト: EldarMamishev/ITT
        public async Task RegisterTeacher(RegisterNewTeacherUserAccountView viewModel)
        {
            var companies = _companyRepository.GetAll();

            if (companies.Result == null || companies.Result.ToList().Count == 0)
            {
                Company company = new Company()
                {
                    Name = "Test"
                };
                await _companyRepository.Create(company);

                ApplicationConstants.CurrentCompanyId = company.Id;
            }

            var teacher = new Teacher();

            teacher.Email     = viewModel.Email;
            teacher.UserName  = viewModel.Username;
            teacher.CompanyId = ApplicationConstants.CurrentCompanyId;

            if (!viewModel.Password.Equals(viewModel.ConfirmPassword))
            {
                throw new AdminException("Passwords are different");
            }

            if (!(await _userManager.FindByEmailAsync(viewModel.Email) is null) || !(await _userManager.FindByNameAsync(viewModel.Username) is null))
            {
                throw new AdminException("Account with such Email or UserID already exists");
            }

            teacher.BirthDate = _dateParseHelper.ParseStringToDatetime(viewModel.BirthDate);

            _accountMapper.MapTeacherViewModelToModel(viewModel, teacher);
            /// TODOOOOOOOOOOO
            teacher.EmailConfirmed = true;
            ///
            IdentityResult result = await _userManager.CreateAsync(teacher, viewModel.Password);

            if (!result.Succeeded)
            {
                string responseError = result.GetFirstError();

                throw new AdminException(responseError);
            }

            ApplicationUser registeredTeacher = await _userManager.FindByNameAsync(viewModel.Username);

            await _userManager.AddToRoleAsync(registeredTeacher, ApplicationConstants.TEACHER_ROLE);
        }
コード例 #3
0
        public async Task <IActionResult> RegisterTeacher(RegisterNewTeacherUserAccountView viewModel)
        {
            try
            {
                await _adminService.RegisterTeacher(viewModel);

                return(RedirectToAction("ShowTeachers"));
            }
            catch (BaseException ex)
            {
                ModelState.AddModelError(string.Empty, ex.Message);

                return(View(viewName: "Teachers/RegisterNewTeacher"));
            }
        }