Exemple #1
0
        public async Task <IActionResult> ChangePassword(EmployeeChangePasswordViewComponentViewModel input)
        {
            var employeeId = this.User.FindFirstValue(ClaimTypes.NameIdentifier);

            if (!ModelState.IsValid)
            {
                var employeeProfile = (await this.employeesService
                                       .GetEmployeeDtoByIdAsync <EmployeeProfileDto>(employeeId)
                                       .SingleOrDefaultAsync())
                                      .To <EmployeeProfileViewModel>();

                return(this.View("Profile", employeeProfile));
            }

            var isValidCurrentPassowrd = await this.employeesService.ValidateCurrentPasswordAsync(employeeId, input.CurrentPassword);

            if (!isValidCurrentPassowrd)
            {
                ModelState.AddModelError(string.Empty, ErrorMessages.INVALID_PASSWORD);

                var employeeProfile = (await this.employeesService
                                       .GetEmployeeDtoByIdAsync <EmployeeProfileDto>(employeeId)
                                       .SingleOrDefaultAsync())
                                      .To <EmployeeProfileViewModel>();

                return(this.View("Profile", employeeProfile));
            }

            var employeeDto = input.To <EmployeeChangePasswordDto>();

            await this.employeesService.ChangePasswordAsync(employeeId, employeeDto);

            return(this.RedirectToAction("Logout"));
        }
Exemple #2
0
        public IViewComponentResult Invoke()
        {
            var vm = new EmployeeChangePasswordViewComponentViewModel();

            return(View(vm));
        }