public ActionResult Create() { var newEmployee = new Employee() { User = new User(), Is_Active = true, Is_Deleted = false, Date_Created = DateTime.Now, Created_By = "" }; var employeeServices = new ProblemCategoryModel(); var employeeJobPosition = new JobPositionModel(); List <SelectListItem> AvailableEmployeeServices = new List <SelectListItem>(); foreach (var item in employeeServices.GetListOfProblemCategories()) { var SelectItem = new SelectListItem(); bool itemSelected = false; AvailableEmployeeServices.Add(new SelectListItem { Text = item.Description, Value = item.Problem_Category_Id.ToString(), Selected = itemSelected }); } ViewBag.AvailableEmployeeServices = AvailableEmployeeServices; List <SelectListItem> AvailableEmployeeJobPosition = new List <SelectListItem>(); foreach (var item in employeeJobPosition.GetListOfJobPositions()) { var SelectItem = new SelectListItem(); bool itemSelected = false; AvailableEmployeeJobPosition.Add(new SelectListItem { Text = item.Description, Value = item.Job_Position_Id.ToString(), Selected = itemSelected }); } ViewBag.AvailableJobPosition = AvailableEmployeeJobPosition; return(View(newEmployee)); }
//public async System.Threading.Tasks.Task<ActionResult> Create(Employee employee, FormCollection data) public ActionResult Create(Employee employee, FormCollection data) { var currentUser = (User)Session["CurrentUser"]; var userName = string.Empty; if (currentUser != null) { userName = currentUser.User_Name; } var dateCreated = DateTime.Now; var createdBy = userName; const bool isActive = true; const bool isDeleted = false; var auditTrail = new AuditTrailModel(); #region ModelState && CreateEmployee if (ModelState.IsValid) { var userModel = new UserModel(); #region Check Existance (Email, First Name, Last Name) var employeemodel = new EmployeeModel(); bool checkIfEmployeeExists = employeemodel.CheckIfEmployeeExists(employee.User.Email_Address, employee.User.First_Name, employee.User.Last_Name); if (checkIfEmployeeExists == false) { // TODO: fix created-by field var createEmployee = employeemodel.CreateEmployee(employee.User.First_Name, employee.User.Last_Name, employee.User.Initials, employee.User.Email_Address, employee.Persal_Number, employee.Head_Of_Department_Id, employee.Supervisor_Id, employee.Phone_Number, employee.Mobile_Phone_Number, employee.Gender_Id, employee.Race_Id, employee.ID_Number, employee.Job_Position_Id, employee.Paypoint_Id, employee.Service_Office_Id, employee.Salary_Level_Id, employee.Is_Shift_Worker, employee.Is_Casual_Worker, isActive, isDeleted, dateCreated, createdBy, employee.Is_SocialWorker, employee.PracticeNumber, currentUser.User_Id); if (createEmployee == null) { ViewBag.Message = "An Error Occurred, Please contact support"; return(View(employee)); } else { auditTrail.InsertAuditTrail(userName, "Add New Employee Details", "Admin"); } #endregion #region Link Roles var roleIds = new List <int>(); if (employee.User.Posted_Roles != null) { foreach (var roleId in employee.User.Posted_Roles.Role_IDs) { var roleIdValue = int.Parse(roleId); roleIds.Add(roleIdValue); } } userModel.AddUserToRole(createEmployee.User.User_Id, roleIds); #endregion #region link Selected Groups var groupIds = new List <int>(); if (employee.User.Posted_Groups != null) { foreach (var groupId in employee.User.Posted_Groups.Group_IDs) { var groupIdValue = int.Parse(groupId); groupIds.Add(groupIdValue); } } userModel.AddUserToGroup(createEmployee.User.User_Id, groupIds); #endregion #region employee services and roles var employeeServicesM = new EmployeeServiceModel(); var value = data["ServiceList"].ToString(); if (value != null) { string[] selectedServiceArray = data["ServiceList"].ToString().Split(','); employeeServicesM.Delete(Convert.ToInt32(createEmployee.Employee_Id)); foreach (string i in selectedServiceArray) { employeeServicesM.CreateEmployeeService(createEmployee.Employee_Id, Convert.ToInt32(i), currentUser.User_Id); } auditTrail.InsertAuditTrail(userName, "Add New Employee Services" + ":" + value, "Admin"); } var employeerolesM = new EmployeeRolesModel(); var value2 = data["JobPositionList"].ToString(); if (value2 != null) { string[] selectedRoleArray = data["JobPositionList"].ToString().Split(','); employeerolesM.DeleteEmployeeJobPositions(Convert.ToInt32(createEmployee.Employee_Id)); foreach (string i in selectedRoleArray) { employeerolesM.CreateEmployeeJobPosition(createEmployee.Employee_Id, Convert.ToInt32(i), currentUser.User_Id); } auditTrail.InsertAuditTrail(userName, "Add New Employee Job position" + ":" + value2, "Admin"); } #endregion } else { TempData["EnteredUser"] = "******" + employee.User.First_Name + " " + employee.User.Last_Name + " with persal #:" + employee.Persal_Number; return(RedirectToAction("DoesExist")); } return(RedirectToAction("Index", "Employee")); } #endregion #region Services && Job position var employeeServices = new ProblemCategoryModel(); var employeeJobPosition = new JobPositionModel(); List <SelectListItem> AvailableEmployeeServices = new List <SelectListItem>(); foreach (var item in employeeServices.GetListOfProblemCategories()) { var SelectItem = new SelectListItem(); bool itemSelected = false; AvailableEmployeeServices.Add(new SelectListItem { Text = item.Description, Value = item.Problem_Category_Id.ToString(), Selected = itemSelected }); } ViewBag.AvailableEmployeeServices = AvailableEmployeeServices; List <SelectListItem> AvailableEmployeeJobPosition = new List <SelectListItem>(); foreach (var item in employeeJobPosition.GetListOfJobPositions()) { var SelectItem = new SelectListItem(); bool itemSelected = false; AvailableEmployeeJobPosition.Add(new SelectListItem { Text = item.Description, Value = item.Job_Position_Id.ToString(), Selected = itemSelected }); } ViewBag.AvailableJobPosition = AvailableEmployeeJobPosition; #endregion return(View(employee)); }
public ActionResult Edit(string id) { var employeeModel = new EmployeeModel(); var employeeToEdit = employeeModel.GetSpecificEmployee(int.Parse(id)); Session["EmployeeId"] = int.Parse(id); var employeeServices = new ProblemCategoryModel(); var employeeJobPosition = new JobPositionModel(); List <SelectListItem> AvailableEmployeeServices = new List <SelectListItem>(); foreach (var item in employeeServices.GetListOfProblemCategories()) { var SelectItem = new SelectListItem(); bool itemSelected = false; if (employeeToEdit.SelectedEmployeeServiceList.Contains(item.Problem_Category_Id)) { itemSelected = true; } AvailableEmployeeServices.Add(new SelectListItem { Text = item.Description, Value = item.Problem_Category_Id.ToString(), Selected = itemSelected }); } ViewBag.AvailableEmployeeServices = AvailableEmployeeServices; //employeeModel.PostedEmployeeServiceType.ListOfEmployeeServiceIDs = new SelectList(AvailableEmployeeServices, "Value", "Text"); List <SelectListItem> AvailableEmployeeJobPosition = new List <SelectListItem>(); foreach (var item in employeeJobPosition.GetListOfJobPositions()) { var SelectItem = new SelectListItem(); bool itemSelected = false; if (employeeToEdit.SelectedEmployeeRoleList.Contains(item.Job_Position_Id)) { itemSelected = true; } AvailableEmployeeJobPosition.Add(new SelectListItem { Text = item.Description, Value = item.Job_Position_Id.ToString(), Selected = itemSelected }); } ViewBag.AvailableJobPosition = AvailableEmployeeJobPosition; //employeeModel.PostedEmployeeRoleType.ListOfEmployeeRoleIDs = new SelectList(AvailableEmployeeJobPosition, "Value", "Text"); return(View(employeeToEdit)); }