public async Task <IActionResult> ChangeJob(string email) { if (!(await _managerService.IsManagerToEmployee(User.Identity.Name, email))) { return(RedirectToAction(nameof(AccountController.AccessDenied), "Account")); } var job = await _managerService.GetEmployeeJob(email); var salary = await _managerService.GetEmployeeSalary(email); var model = new UpdateEmployeeJobViewModel { Amount = salary.Amount, Currencies = _mapper.Map <List <CurrencyViewModel> >(await _nomenclatureService.GetCurrencies()), SalaryTypes = _mapper.Map <List <SalaryTypeViewModel> >(await _nomenclatureService.GetSalaryTypes()), CurrencyId = salary.Currency.Id, EmployeeEmail = email, EmployeeName = $"{salary.Employee.FirstName} {salary.Employee.LastName}", SalaryTypeId = salary.SalaryType.Id, Jobs = _mapper.Map <List <JobViewModel> >(await _adminService.GetJobs()), JobId = job.Id, StatusMessage = StatusMessage }; return(View(model)); }
public async Task <IActionResult> ChangeJob(UpdateEmployeeJobViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var salId = (await _managerService.GetEmployeeSalary(model.EmployeeEmail)).Id; var salaryUpdateModel = new SalaryServiceModel { Amount = model.Amount, Currency = await _nomenclatureService.GetCurrency(model.CurrencyId), SalaryType = await _nomenclatureService.GetSalaryType(model.SalaryTypeId), Employee = await _accountManageService.GetEmployeeByEmailAsync(model.EmployeeEmail), Id = salId }; var jobModel = await _adminService.GetJobById(model.JobId); await _managerService.UpdateEmployeeJob(jobModel, salaryUpdateModel); StatusMessage = $"Successfuly updated job for employee with email {model.EmployeeEmail}"; return(RedirectToAction(nameof(ChangeJob), routeValues: new { email = model.EmployeeEmail })); }
public async Task <IActionResult> ChangeJob(string email) { var job = await _managerService.GetEmployeeJob(email); var salary = await _managerService.GetEmployeeSalary(email); var model = new UpdateEmployeeJobViewModel { Amount = salary.Amount, Currencies = _mapper.Map <List <CurrencyViewModel> >(await _nomenclatureService.GetCurrencies()), SalaryTypes = _mapper.Map <List <SalaryTypeViewModel> >(await _nomenclatureService.GetSalaryTypes()), CurrencyId = salary.Currency.Id, EmployeeEmail = email, EmployeeName = $"{salary.Employee.FirstName} {salary.Employee.LastName}", SalaryTypeId = salary.SalaryType.Id, Jobs = _mapper.Map <List <JobViewModel> >(await _adminService.GetJobs()), JobId = job.Id, StatusMessage = StatusMessage }; return(View(model)); }