public async Task <EditDriverAdminViewModel> LoadDataForEditDriverAccount(string userName) { Driver driver = await _driverRepository.GetDriverByName(userName); if (driver is null) { throw new AdminException("User not found"); } EditDriverAdminViewModel viewModel = _driverMapper.MapEditDriverModelsToEditViewModels(driver); return(viewModel); }
public EditDriverAdminViewModel MapEditDriverModelsToEditViewModels(Driver driver) { var viewModel = new EditDriverAdminViewModel(); viewModel.Id = driver.Id; viewModel.FirstName = driver.FirstName; viewModel.LastName = driver.LastName; viewModel.MiddleName = driver.MiddleName; viewModel.PhoneNumber = driver.PhoneNumber; viewModel.BirthDate = driver.BirthDate.ToString("yyyy"); viewModel.Username = driver.UserName; viewModel.Email = driver.Email; viewModel.AddressLine = driver.AddressLine; viewModel.IsVerified = driver.IsVerified; return(viewModel); }
public async Task EditDriverInformation(EditDriverAdminViewModel viewModel) { var user = await _userManager.FindByNameAsync(viewModel.Username) as Driver; if (user is null) { throw new AdminException("User not found."); } user.FirstName = viewModel.FirstName; user.LastName = viewModel.LastName; user.MiddleName = viewModel.MiddleName; user.PhoneNumber = viewModel.PhoneNumber; user.BirthDate = _dateParseHelper.ParseStringToOnlyYearDatetime(viewModel.BirthDate).Value; user.AddressLine = viewModel.AddressLine; await _userManager.UpdateAsync(user); }
public async Task <IActionResult> EditDriverInformation(EditDriverAdminViewModel viewModel) { if (ModelState.IsValid) { try { await _adminService.EditDriverInformation(viewModel); return(RedirectToAction("ShowDrivers")); return(await EditDriver(viewModel.Id)); } catch (BaseException ex) { ModelState.AddModelError(string.Empty, ex.Message); var result = await _adminService.LoadDataForEditDriverAccount(viewModel.Id); return(View(viewName: "Drivers/EditDriver", result)); } } return(View(viewName: "Drivers/EditDriver", await _adminService.LoadDataForEditDriverAccount(viewModel.Id))); }
public async Task <IActionResult> EditDriver(int id) { EditDriverAdminViewModel result = await _adminService.LoadDataForEditDriverAccount(id); return(View(viewName: "Drivers/EditDriver", result)); }