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")); }
public IViewComponentResult Invoke() { var vm = new EmployeeChangePasswordViewComponentViewModel(); return(View(vm)); }