예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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)));
        }
예제 #5
0
        public async Task <IActionResult> EditDriver(int id)
        {
            EditDriverAdminViewModel result = await _adminService.LoadDataForEditDriverAccount(id);

            return(View(viewName: "Drivers/EditDriver", result));
        }