示例#1
0
        //End Herman
        public Employee CreateEmployee(string firstName, string lastName, string initials, string emailAddress, string persalNumber, int?headOfDepartmentId, int?supervisorId, string phoneNumber, string mobilePhoneNumber,
                                       int?genderId, int?raceId, string idNumber, int?jobPositionId, int?payPointId, int serviceOfficeId, int?salaryLevelId, bool isShiftWorker, bool isCasualWorker,
                                       bool isActive, bool isDeleted, DateTime dateCreated, string createdBy, bool isSocialWorker, string practiceNumber, int UserId)
        {
            Employee newEmployee;

            using (var dbContext = new SDIIS_DatabaseEntities())
            {
                User newUser;

                var user = new User
                {
                    User_Name     = string.Format("{0}{1}", firstName.Substring(0, 1), lastName),
                    Password      = "******",
                    First_Name    = firstName,
                    Last_Name     = lastName,
                    Initials      = initials,
                    Email_Address = emailAddress,
                    Is_Active     = isActive,
                    Is_Deleted    = isDeleted,
                    Date_Created  = dateCreated,
                    Created_By    = createdBy
                };

                try
                {
                    int NumberOfUserNames = (from a in dbContext.Users
                                             where a.User_Name.Contains(user.User_Name)
                                             select a).Count();
                    if (NumberOfUserNames > 1)
                    {
                        user.User_Name += NumberOfUserNames;
                    }
                    newUser = dbContext.Users.Add(user);
                    dbContext.SaveChanges();
                }
                catch (Exception)
                {
                    return(null);
                }

                if (newUser == null)
                {
                    return(null);
                }

                var employee = new Employee
                {
                    User_Id               = newUser.User_Id,
                    Persal_Number         = persalNumber,
                    Head_Of_Department_Id = headOfDepartmentId,
                    Supervisor_Id         = supervisorId,
                    Phone_Number          = phoneNumber,
                    Mobile_Phone_Number   = mobilePhoneNumber,
                    Gender_Id             = genderId,
                    Race_Id               = raceId,
                    ID_Number             = idNumber,
                    Job_Position_Id       = jobPositionId,
                    Paypoint_Id           = payPointId,
                    Service_Office_Id     = serviceOfficeId,
                    Salary_Level_Id       = salaryLevelId,
                    Is_Shift_Worker       = isShiftWorker,
                    Is_Casual_Worker      = isCasualWorker,
                    Is_Active             = isActive,
                    Is_Deleted            = isDeleted,
                    Is_SocialWorker       = isSocialWorker,
                    Date_Created          = dateCreated,
                    Created_By            = createdBy
                };

                try
                {
                    newEmployee = dbContext.Employees.Add(employee);
                    dbContext.SaveChanges();


                    if (isSocialWorker == true)
                    {
                        int userid = newEmployee.User_Id;

                        //get the supervisor employee ID to be used to get the user id that we will unse to link the social worker table correctly
                        var employeeUserId = dbContext.Employees.Where(x => x.Employee_Id == newEmployee.Supervisor_Id).Select(y => y.User_Id).FirstOrDefault();

                        //get socialworker id for the supervisor
                        var supervisorSocialWorkerID = dbContext.Social_Workers.Where(x => x.User_Id == employeeUserId).Select(y => y.Social_Worker_Id).FirstOrDefault();

                        var socialWorkerDetails = (from s in dbContext.Social_Workers
                                                   where s.User_Id == userid
                                                   select s).FirstOrDefault();

                        if (socialWorkerDetails == null)
                        {
                            Social_Worker sw = new Social_Worker();
                            sw.Gender_Id                  = newEmployee.Gender_Id;
                            sw.ID_Number                  = newEmployee.ID_Number;
                            sw.User_Id                    = newEmployee.User_Id;
                            sw.Is_Active                  = newEmployee.Is_Active;
                            sw.Is_Deleted                 = newEmployee.Is_Deleted;
                            sw.Mobile_Phone_Number        = newEmployee.Mobile_Phone_Number;
                            sw.Modified_By                = createdBy;
                            sw.Organization_Id            = 1;//Thabiso to verify
                            sw.Service_Office_Id          = newEmployee.Service_Office_Id;
                            sw.SocialWorkerPracticeNumber = practiceNumber;
                            sw.Date_Created               = DateTime.Now;
                            sw.Date_Last_Modified         = DateTime.Now;
                            sw.Created_By                 = createdBy;
                            sw.Phone_Number               = newEmployee.Phone_Number;
                            if (supervisorId != null)
                            {
                                sw.Reports_To_Social_Worker_Id = supervisorSocialWorkerID;
                            }


                            dbContext.Social_Workers.Add(sw);
                            dbContext.SaveChanges();
                        }
                        else
                        {
                            socialWorkerDetails.Gender_Id                  = newEmployee.Gender_Id;
                            socialWorkerDetails.ID_Number                  = newEmployee.ID_Number;
                            socialWorkerDetails.Is_Active                  = newEmployee.Is_Active;
                            socialWorkerDetails.Is_Deleted                 = newEmployee.Is_Deleted;
                            socialWorkerDetails.Mobile_Phone_Number        = newEmployee.Mobile_Phone_Number;
                            socialWorkerDetails.Modified_By                = createdBy;
                            socialWorkerDetails.Organization_Id            = 1;//Thabiso to verify
                            socialWorkerDetails.Service_Office_Id          = newEmployee.Service_Office_Id;
                            socialWorkerDetails.SocialWorkerPracticeNumber = practiceNumber;
                            socialWorkerDetails.Date_Created               = DateTime.Now;
                            socialWorkerDetails.Date_Last_Modified         = DateTime.Now;
                            socialWorkerDetails.Created_By                 = createdBy;
                            socialWorkerDetails.Phone_Number               = newEmployee.Phone_Number;
                            if (supervisorId != null)
                            {
                                socialWorkerDetails.Reports_To_Social_Worker_Id = supervisorSocialWorkerID;
                            }

                            dbContext.SaveChanges();
                        }
                    }
                }
                catch (Exception)
                {
                    return(null);
                }
                //if (selectedEmployeeService_Ids != null && selectedJobPosition_Ids != null)
                //{
                //    var employeeService = new EmployeeService();

                //    foreach (var itemss in selectedEmployeeService_Ids)
                //    {
                //        employeeService.Employee_Id = (from a in dbContext.Employees
                //                                       where a.User_Id == newUser.User_Id
                //                                       select a.Employee_Id).FirstOrDefault();

                //        employeeService.Problem_Category_Id = itemss;
                //        employeeService.CreatedTimeStamp = DateTime.Now;
                //        employeeService.Created_By = UserId;
                //        employeeService.Is_Active = Convert.ToBoolean(1);
                //        employeeService.Is_Deleted = Convert.ToBoolean(0);
                //        dbContext.EmployeeServices.Add(employeeService);
                //        dbContext.SaveChanges();



                //    }
                //    var jobPosition = new EmployeeRole();

                //    foreach (var itemsss in selectedJobPosition_Ids)
                //    {
                //        jobPosition.Employee_Id = (from a in dbContext.Employees
                //                                   where a.User_Id == newUser.User_Id
                //                                   select a.Employee_Id).FirstOrDefault();
                //        jobPosition.JobPosition_Id = itemsss;
                //        jobPosition.CreatedTimeStamp = DateTime.Now;
                //        jobPosition.Created_By = UserId;
                //        jobPosition.Is_Active = Convert.ToBoolean(1);
                //        jobPosition.Is_Deleted = Convert.ToBoolean(0);
                //        dbContext.EmployeeRoles.Add(jobPosition);
                //        dbContext.SaveChanges();
                //    }

                //}
            }

            return(newEmployee);
        }
示例#2
0
        public Employee EditEmployee(int employeeId, string firstName, string lastName, string initials, string emailAddress, string persalNumber, int?headOfDepartmentId, int?supervisorId, string phoneNumber, string mobilePhoneNumber,
                                     int?genderId, int?raceId, string idNumber, int?jobPositionId, int?payPointId, int serviceOfficeId, int?salaryLevelId, bool isShiftWorker, bool isCasualWorker,
                                     bool isActive, bool isDeleted, DateTime dateLastModified, string modifiedBy, bool isSocialWorker, string practiceNumber, int?facilityId)
        {
            Employee editEmployee;

            using (var dbContext = new SDIIS_DatabaseEntities())
            {
                try
                {
                    editEmployee = (from e in dbContext.Employees
                                    where e.Employee_Id.Equals(employeeId)
                                    select e).FirstOrDefault();

                    if (editEmployee == null)
                    {
                        return(null);
                    }

                    editEmployee.User.First_Name       = firstName;
                    editEmployee.User.Last_Name        = lastName;
                    editEmployee.User.Initials         = initials;
                    editEmployee.User.Email_Address    = emailAddress;
                    editEmployee.Persal_Number         = persalNumber;
                    editEmployee.Head_Of_Department_Id = headOfDepartmentId;
                    editEmployee.Supervisor_Id         = supervisorId;
                    editEmployee.Phone_Number          = phoneNumber;
                    editEmployee.Mobile_Phone_Number   = mobilePhoneNumber;
                    editEmployee.Gender_Id             = genderId;
                    editEmployee.Race_Id            = raceId;
                    editEmployee.ID_Number          = idNumber;
                    editEmployee.Job_Position_Id    = jobPositionId;
                    editEmployee.Paypoint_Id        = payPointId;
                    editEmployee.Service_Office_Id  = serviceOfficeId;
                    editEmployee.Salary_Level_Id    = salaryLevelId;
                    editEmployee.Is_Shift_Worker    = isShiftWorker;
                    editEmployee.Is_Casual_Worker   = isCasualWorker;
                    editEmployee.Is_Active          = isActive;
                    editEmployee.Is_Deleted         = isDeleted;
                    editEmployee.Date_Last_Modified = dateLastModified;
                    editEmployee.Modified_By        = modifiedBy;
                    editEmployee.Is_SocialWorker    = isSocialWorker;
                    editEmployee.Facility_Id        = facilityId;

                    dbContext.SaveChanges();

                    if (isSocialWorker == true)
                    {
                        int userid = editEmployee.User_Id;


                        //get the supervisor employee ID to be used to get the user id that we will unse to link the social worker table correctly
                        var employeeUserId = dbContext.Employees.Where(x => x.Employee_Id == editEmployee.Supervisor_Id).Select(y => y.User_Id).FirstOrDefault();

                        //get socialworker id for the supervisor
                        var supervisorSocialWorkerID = dbContext.Social_Workers.Where(x => x.User_Id == employeeUserId).Select(y => y.Social_Worker_Id).FirstOrDefault();

                        var socialWorkerDetails = (from s in dbContext.Social_Workers
                                                   where s.User_Id == userid
                                                   select s).FirstOrDefault();

                        if (socialWorkerDetails == null)
                        {
                            Social_Worker sw = new Social_Worker();
                            sw.Gender_Id                  = editEmployee.Gender_Id;
                            sw.ID_Number                  = editEmployee.ID_Number;
                            sw.User_Id                    = editEmployee.User_Id;
                            sw.Is_Active                  = editEmployee.Is_Active;
                            sw.Is_Deleted                 = editEmployee.Is_Deleted;
                            sw.Mobile_Phone_Number        = editEmployee.Mobile_Phone_Number;
                            sw.Modified_By                = modifiedBy;
                            sw.Organization_Id            = 1;//Thabiso to verify
                            sw.Service_Office_Id          = editEmployee.Service_Office_Id;
                            sw.SocialWorkerPracticeNumber = practiceNumber;
                            sw.Date_Created               = DateTime.Now;
                            sw.Date_Last_Modified         = DateTime.Now;
                            sw.Created_By                 = modifiedBy;
                            sw.Phone_Number               = editEmployee.Phone_Number;
                            if (supervisorId != null)
                            {
                                sw.Reports_To_Social_Worker_Id = supervisorSocialWorkerID;
                            }

                            dbContext.Social_Workers.Add(sw);
                            dbContext.SaveChanges();
                        }
                        else
                        {
                            socialWorkerDetails.Gender_Id                  = editEmployee.Gender_Id;
                            socialWorkerDetails.ID_Number                  = editEmployee.ID_Number;
                            socialWorkerDetails.Is_Active                  = editEmployee.Is_Active;
                            socialWorkerDetails.Is_Deleted                 = editEmployee.Is_Deleted;
                            socialWorkerDetails.Mobile_Phone_Number        = editEmployee.Mobile_Phone_Number;
                            socialWorkerDetails.Modified_By                = modifiedBy;
                            socialWorkerDetails.Organization_Id            = 1;//Thabiso to verify
                            socialWorkerDetails.Service_Office_Id          = editEmployee.Service_Office_Id;
                            socialWorkerDetails.SocialWorkerPracticeNumber = practiceNumber;
                            socialWorkerDetails.Date_Created               = DateTime.Now;
                            socialWorkerDetails.Date_Last_Modified         = DateTime.Now;
                            socialWorkerDetails.Created_By                 = modifiedBy;
                            socialWorkerDetails.Phone_Number               = editEmployee.Phone_Number;
                            if (supervisorId != null)
                            {
                                socialWorkerDetails.Reports_To_Social_Worker_Id = supervisorSocialWorkerID;
                            }

                            dbContext.SaveChanges();
                        }
                    }
                }
                catch (System.Data.Entity.Validation.DbEntityValidationException dbEx)
                {
                    Exception raise = dbEx;
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            string message = string.Format("{0}:{1}",
                                                           validationErrors.Entry.Entity.ToString(),
                                                           validationError.ErrorMessage);
                            // raise a new exception nesting
                            // the current instance as InnerException
                            raise = new InvalidOperationException(message, raise);
                        }
                    }
                    throw raise;
                }
            }

            return(editEmployee);
        }
示例#3
0
        public Social_Worker CreateSocialWorker(string firstName, string lastName, string initials, string emailAddress, string phoneNumber, string mobilePhoneNumber,
                                                int?genderId, int?raceId, string idNumber, bool isActive, bool isDeleted, DateTime dateCreated, string createdBy)
        {
            Social_Worker newSocialWorker;

            using (var dbContext = new SDIIS_DatabaseEntities())
            {
                User newUser;

                var user = new User
                {
                    User_Name     = string.Format("{0}{1}", firstName.Substring(0, 1), lastName),
                    Password      = "******",
                    First_Name    = firstName,
                    Last_Name     = lastName,
                    Initials      = initials,
                    Email_Address = emailAddress,
                    Is_Active     = isActive,
                    Is_Deleted    = isDeleted,
                    Date_Created  = dateCreated,
                    Created_By    = createdBy
                };

                try
                {
                    newUser = dbContext.Users.Add(user);
                    dbContext.SaveChanges();
                }
                catch (Exception)
                {
                    return(null);
                }

                if (newUser == null)
                {
                    return(null);
                }

                var employee = new Social_Worker
                {
                    User_Id             = newUser.User_Id,
                    Phone_Number        = phoneNumber,
                    Mobile_Phone_Number = mobilePhoneNumber,
                    Gender_Id           = genderId,
                    Race_Id             = raceId,
                    ID_Number           = idNumber,
                    Is_Active           = isActive,
                    Is_Deleted          = isDeleted,
                    Date_Created        = dateCreated,
                    Created_By          = createdBy
                };

                try
                {
                    newSocialWorker = dbContext.Social_Workers.Add(employee);
                    dbContext.SaveChanges();
                }
                catch (Exception)
                {
                    return(null);
                }
            }

            return(newSocialWorker);
        }