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"));
        }
Esempio n. 2
0
        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.");
        }
Esempio n. 3
0
        public void UpdateEmployeeRole(EmployeeRoleDTO employeeRoleDTO)
        {
            EmployeeRole employeeRole = null;

            EmployeeRoleConvertor.ConvertToEmployeeRoleEntity(ref employeeRole, employeeRoleDTO, true);
            unitOfWork.EmployeeRoleRepository.Update(employeeRole);
        }
Esempio n. 4
0
        public void AddEmployeeRole(EmployeeRoleDTO employeeRoleDTO)
        {
            EmployeeRole employeeRole = new EmployeeRole();

            EmployeeRoleConvertor.ConvertToEmployeeRoleEntity(ref employeeRole, employeeRoleDTO, false);
            unitOfWork.EmployeeRoleRepository.Add(employeeRole);
        }
Esempio n. 5
0
        public static EmployeeRoleDTO ConvertToEmployeeRoleDto(EmployeeRole employeeRole)
        {
            EmployeeRoleDTO employeeRoleDTO = new EmployeeRoleDTO();

            employeeRoleDTO.EmployeeId = employeeRole.EmployeeId;
            employeeRoleDTO.RoleId     = employeeRole.RoleId;

            return(employeeRoleDTO);
        }
Esempio n. 6
0
        public EmployeeRoleDTO GetEmployeeRoleById(int employeeRoleId)
        {
            EmployeeRoleDTO employeeRoleDTO = null;
            var             employeeRole    = unitOfWork.EmployeeRoleRepository.GetById(employeeRoleId);

            if (employeeRole != null)
            {
                employeeRoleDTO = EmployeeRoleConvertor.ConvertToEmployeeRoleDto(employeeRole);
            }
            return(employeeRoleDTO);
        }
Esempio n. 7
0
 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"));
        }
Esempio n. 9
0
        public async Task <IActionResult> PromoteToEmployee(EmployeeRoleDTO model)
        {
            var result = await _userService.PromoteToEmployee(model);

            return(Ok(result));
        }