public ActionResult Edit(User user) { if (ModelState.IsValid) { var userModel = new UserModel(); var updatedUser = userModel.EditUser(user.User_Id, user.First_Name, user.Last_Name, user.Initials, user.Email_Address); if (updatedUser == null) { ViewBag.Message = "An Error Occured, Please contact Support"; return(View(user)); } // Link Selected Roles var roleIds = new List <int>(); if (user.Posted_Roles != null) { foreach (var roleId in user.Posted_Roles.Role_IDs) { var roleIdValue = int.Parse(roleId); roleIds.Add(roleIdValue); } } userModel.AddUserToRole(updatedUser.User_Id, roleIds); // Link Selected Groups var groupIds = new List <int>(); if (user.Posted_Groups != null) { foreach (var groupId in user.Posted_Groups.Group_IDs) { var groupIdValue = int.Parse(groupId); groupIds.Add(groupIdValue); } } userModel.AddUserToGroup(updatedUser.User_Id, groupIds); return(RedirectToAction("Index", "User")); } return(View(user)); }
//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(Employee employee, FormCollection data) { var currentUser = (User)Session["CurrentUser"]; var userName = string.Empty; if (currentUser != null) { userName = currentUser.User_Name; } var dateLastModified = DateTime.Now; var modifiedBy = userName; const bool isActive = true; const bool isDeleted = false; var auditTrail = new AuditTrailModel(); if (ModelState.IsValid) { var userModel = new UserModel(); var employeeModel = new EmployeeModel(); var updatedEmployee = employeeModel.EditEmployee(employee.Employee_Id, 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, dateLastModified, modifiedBy, employee.Is_SocialWorker, employee.PracticeNumber, employee.Facility_Id ); if (updatedEmployee == null) { ViewBag.Message = "An Error Occured, Please contact Support"; return(View(employee)); } else { auditTrail.InsertAuditTrail(userName, "Update Employee Details", "Admin"); } // Link Selected 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(updatedEmployee.User.User_Id, roleIds); // 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(updatedEmployee.User.User_Id, groupIds); #region employee services and roles var employeeServicesM = new EmployeeServiceModel(); if (data["ServiceList"] != null) { //var value = data["ServiceList"].ToString(); string[] selectedServiceArray = data["ServiceList"].ToString().Split(','); employeeServicesM.Delete(Convert.ToInt32(updatedEmployee.Employee_Id)); foreach (string i in selectedServiceArray) { employeeServicesM.CreateEmployeeService(updatedEmployee.Employee_Id, Convert.ToInt32(i), currentUser.User_Id); } auditTrail.InsertAuditTrail(userName, "Update Employee Services" + ":" + data["ServiceList"], "Admin"); } var employeerolesM = new EmployeeRolesModel(); if (data["JobPositionList"] != null) { //var value2 = data["JobPositionList"].ToString(); string[] selectedRoleArray = data["JobPositionList"].ToString().Split(','); employeerolesM.DeleteEmployeeJobPositions(Convert.ToInt32(updatedEmployee.Employee_Id)); foreach (string i in selectedRoleArray) { employeerolesM.CreateEmployeeJobPosition(updatedEmployee.Employee_Id, Convert.ToInt32(i), currentUser.User_Id); } auditTrail.InsertAuditTrail(userName, "Update Employee Job position" + ":" + data["JobPositionList"], "Admin"); } #endregion return(RedirectToAction("Index", "Employee")); } return(View(employee)); }