public async Task <IActionResult> AddManager(int departmentId) { var user = await this.userManager.GetUserAsync(this.User); var companyId = this.departmentService.GetCompanyIdByDepartmentId(user.DepartmentId); var employees = this.employeService.GetAllEmployees <EmployeeSelectList>(companyId); var model = new ManagerToDepartmentViewModel { DepartmentId = departmentId, Employees = employees }; return(this.View(model)); }
public async Task <IActionResult> AddManager(ManagerToDepartmentViewModel model) { if (!this.ModelState.IsValid) { return(this.View(model)); } var user = await this.userManager.FindByIdAsync(model.UserId); var role = await this.userManager.GetRolesAsync(user); if (role[0] != GlobalConstant.SystemManagerRole) { await this.userManager.RemoveFromRoleAsync(user, role[0]); await this.userManager.AddToRoleAsync(user, GlobalConstant.SystemManagerRole); } await this.departmentService.AddManagerAsync(model.UserId, model.DepartmentId); await this.employeService.ChangeDepartmentAsync(model.UserId, model.DepartmentId); return(this.RedirectToAction("Index")); }