Example #1
0
        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));
        }
Example #2
0
        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 }));
        }
Example #3
0
        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));
        }