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; }
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")); }
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); }
public async Task <IActionResult> RegisterDriver() { CreateNewDriverAdminView result = await _adminService.LoadDataForRegisterDriverPage(); return(View(viewName: "Drivers/RegisterDriver", result)); }
public async Task <CreateNewDriverAdminView> LoadDataForRegisterDriverPage() { var result = new CreateNewDriverAdminView(); return(result); }