示例#1
0
 public void MapDriverViewModelToModel(CreateNewDriverAdminView viewModel, Driver model)
 {
     model.FirstName   = viewModel.FirstName;
     model.LastName    = viewModel.LastName;
     model.MiddleName  = viewModel.MiddleName;
     model.PhoneNumber = viewModel.PhoneNumber;
     model.AddressLine = viewModel.AddressLine;
     model.IsVerified  = viewModel.IsVerified;
 }
示例#2
0
        public async Task <IActionResult> RegisterDriver([FromForm] CreateNewDriverAdminView viewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    await _adminService.CreateDriver(viewModel);

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

                    return(View(viewName: "Drivers/RegisterDriver"));
                }
            }

            return(View(viewName: "Drivers/RegisterDriver"));
        }
示例#3
0
        public async Task CreateDriver(CreateNewDriverAdminView viewModel)
        {
            var driver = new Driver();

            driver.Email    = viewModel.Email;
            driver.UserName = viewModel.Username;

            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");
            }

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

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

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

                throw new AdminException(responseError);
            }

            AppUser registeredDriver = await _userManager.FindByNameAsync(viewModel.Username);

            await _userManager.AddToRoleAsync(registeredDriver, AppConstants.DRIVER_ROLE);
        }
示例#4
0
        public async Task <IActionResult> RegisterDriver()
        {
            CreateNewDriverAdminView result = await _adminService.LoadDataForRegisterDriverPage();

            return(View(viewName: "Drivers/RegisterDriver", result));
        }
示例#5
0
        public async Task <CreateNewDriverAdminView> LoadDataForRegisterDriverPage()
        {
            var result = new CreateNewDriverAdminView();

            return(result);
        }