Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        //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));
        }
Ejemplo n.º 3
0
        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));
        }