public ActionResult CreateEmployee(EmployeeVM model) { TextInfo textInfo = CultureInfo.CurrentCulture.TextInfo; if (!ModelState.IsValid) { using (BankDB bankDB = new BankDB()) { model.positionList = new SelectList(bankDB.EmployeeRoles.ToList(), "Id", "Name"); return(View(model)); } } using (BankDB bankDB = new BankDB()) { EmployeesDTO employeesDTO = new EmployeesDTO(); if (bankDB.Employees.Any(x => x.EmployeeLogin == model.EmployeeLogin)) { ModelState.AddModelError("loginExist", "Это имя занято, выберите другое"); return(View(model)); } employeesDTO.EmployeeName = textInfo.ToTitleCase(model.EmployeeName); employeesDTO.EmployeeSurname = textInfo.ToTitleCase(model.EmployeeSurname); employeesDTO.EmployeeAge = model.EmployeeAge; employeesDTO.EmployeeEmail = model.EmployeeEmail; employeesDTO.EmployeePhone = model.EmployeePhone; employeesDTO.EmployeeLogin = model.EmployeeLogin; employeesDTO.EmployeePassword = model.EmployeePassword; employeesDTO.EmployeePositionId = model.EmployeePositionId; EmployeeRoleDTO employeeRole = bankDB.EmployeeRoles.FirstOrDefault(x => x.Id == model.EmployeePositionId); employeesDTO.EmployeePosition = employeeRole.Name; employeesDTO.EmployeeSalary = model.EmployeeSalary; employeesDTO.ClientsCount = 0; bankDB.Employees.Add(employeesDTO); bankDB.SaveChanges(); int id = employeesDTO.EmployeeId; int roleId = bankDB.EmployeeRoles.Where(x => x.Name == employeeRole.Name).Select(x => x.Id).First(); ListEmployeeRoleDTO listRoleEmployee = new ListEmployeeRoleDTO() { EmployeeId = id, RoleEmployeeId = roleId }; bankDB.ListEmployeeRoles.Add(listRoleEmployee); bankDB.SaveChanges(); } TempData["OK"] = "Сотрудник добавлен"; return(RedirectToAction("Index")); }
public async Task <string> PromoteToEmployee(EmployeeRoleDTO model) { var user = await _userManager.FindByNameAsync(model.UserName); if (user == null) { return($"No Accounts Registered with {model.UserName}."); } var library = await _libraryRepo.GetLibrary(model.LibraryId); if (library == null) { return("Library not found"); } user.LibraryId = model.LibraryId; var oldRoles = await _userManager.GetRolesAsync(user); await _userManager.RemoveFromRolesAsync(user, oldRoles); await _userManager.AddToRoleAsync(user, Authorization.Roles.Employee.ToString()); await _userManager.UpdateAsync(user); return($"user {model.UserName} role changed to Employee."); }
public void UpdateEmployeeRole(EmployeeRoleDTO employeeRoleDTO) { EmployeeRole employeeRole = null; EmployeeRoleConvertor.ConvertToEmployeeRoleEntity(ref employeeRole, employeeRoleDTO, true); unitOfWork.EmployeeRoleRepository.Update(employeeRole); }
public void AddEmployeeRole(EmployeeRoleDTO employeeRoleDTO) { EmployeeRole employeeRole = new EmployeeRole(); EmployeeRoleConvertor.ConvertToEmployeeRoleEntity(ref employeeRole, employeeRoleDTO, false); unitOfWork.EmployeeRoleRepository.Add(employeeRole); }
public static EmployeeRoleDTO ConvertToEmployeeRoleDto(EmployeeRole employeeRole) { EmployeeRoleDTO employeeRoleDTO = new EmployeeRoleDTO(); employeeRoleDTO.EmployeeId = employeeRole.EmployeeId; employeeRoleDTO.RoleId = employeeRole.RoleId; return(employeeRoleDTO); }
public EmployeeRoleDTO GetEmployeeRoleById(int employeeRoleId) { EmployeeRoleDTO employeeRoleDTO = null; var employeeRole = unitOfWork.EmployeeRoleRepository.GetById(employeeRoleId); if (employeeRole != null) { employeeRoleDTO = EmployeeRoleConvertor.ConvertToEmployeeRoleDto(employeeRole); } return(employeeRoleDTO); }
public static void ConvertToEmployeeRoleEntity(ref EmployeeRole employeeRole, EmployeeRoleDTO employeeRoleDTO, bool isUpdate) { if (isUpdate) { employeeRole.EmployeeId = employeeRoleDTO.EmployeeId; } employeeRole.RoleId = employeeRoleDTO.RoleId; }
public ActionResult EditEmployee(EmployeeProfileVM model) { if (!ModelState.IsValid) { using (BankDB bankDB = new BankDB()) { model.positionList = new SelectList(bankDB.EmployeeRoles.ToList(), "Id", "Name"); return(View(model)); } } if (!string.IsNullOrWhiteSpace(model.EmployeePassword)) { if (!model.EmployeePassword.Equals(model.ConfirmPassword)) { ModelState.AddModelError("errorPass", "Пароли не совпадают"); model.EmployeePassword = ""; model.ConfirmPassword = ""; return(View(model)); } } using (BankDB bankDB = new BankDB()) { TextInfo textInfo = CultureInfo.CurrentCulture.TextInfo; int id = model.EmployeeId; string email = model.EmployeeEmail; string phone = model.EmployeePhone; string login = model.EmployeeLogin; EmployeesDTO employeesDTO = bankDB.Employees.Find(id); if (bankDB.Employees.Where(x => x.EmployeeId != id).Any(x => x.EmployeeEmail == email)) { ModelState.AddModelError("emailExist", $"Адрес {email} занят"); return(View(model)); } else if (bankDB.Employees.Where(x => x.EmployeeId != id).Any(x => x.EmployeePhone == phone)) { ModelState.AddModelError("phoneExist", $"Номер {phone} занят"); return(View(model)); } else if (bankDB.Employees.Where(x => x.EmployeeId != id).Any(x => x.EmployeeLogin == login)) { ModelState.AddModelError("loginExist", $"Логин {login} занят"); return(View(model)); } employeesDTO.EmployeeName = textInfo.ToTitleCase(model.EmployeeName); employeesDTO.EmployeeSurname = textInfo.ToTitleCase(model.EmployeeSurname); employeesDTO.EmployeeAge = model.EmployeeAge; employeesDTO.EmployeeEmail = email; employeesDTO.EmployeePhone = phone; employeesDTO.EmployeeLogin = model.EmployeeLogin; employeesDTO.EmployeePositionId = model.EmployeePositionId; employeesDTO.EmployeeSalary = model.EmployeeSalary; EmployeeRoleDTO employeeRole = bankDB.EmployeeRoles.FirstOrDefault(x => x.Id == model.EmployeePositionId); employeesDTO.EmployeePosition = employeeRole.Name; if (!string.IsNullOrWhiteSpace(model.EmployeePassword)) { employeesDTO.EmployeePassword = model.EmployeePassword; } bankDB.SaveChanges(); } TempData["OK"] = "Профиль отредактирован"; return(RedirectToAction("Index")); }
public async Task <IActionResult> PromoteToEmployee(EmployeeRoleDTO model) { var result = await _userService.PromoteToEmployee(model); return(Ok(result)); }