Example #1
0
 /// <summary>
 /// 为部门批量添加人员
 /// </summary>
 /// <param name="departmentRepository"></param>
 /// <param name="deptID"></param>
 /// <param name="personIDs"></param>
 public static void AddPersons(this IEntityRepository<Department> departmentRepository, Guid deptID, List<Guid> personIDs)
 {
     var dept = departmentRepository.GetSingle(deptID);
     foreach (var item in personIDs)
     {
         var person = departmentRepository.GetSingleRelevance<Person>(item);
         var tempRelevance = departmentRepository.GetSingleRelevanceBy<PersonsInDepartment>(x => x.Person.ID == item && x.Department.ID == deptID);
         if (tempRelevance == null)
         {
             tempRelevance = new PersonsInDepartment() { Department = dept, Person = person };
             departmentRepository.AddRelevance<PersonsInDepartment>(tempRelevance);
         }
     }
     departmentRepository.Save();
 }
Example #2
0
        public static void SaveDepartment(this IEntityRepository<Department> departmentRepository, Department dept)
        {
            departmentRepository.AddOrEdit(dept);

            var typeCollection = departmentRepository.GetAllRelevance<DepartmentTypeInDepartment>().Where(x => x.Department.ID == dept.ID).OrderBy(s => s.SortCode);
            foreach (var item in typeCollection)
                departmentRepository.DeleteRelevance<DepartmentTypeInDepartment>(item);

            var jobLeveClollection = departmentRepository.GetAllRelevance<JobLevelInDepartment>().Where(x => x.Department.ID == dept.ID).OrderBy(s => s.SortCode);
            foreach (var item in jobLeveClollection)
                departmentRepository.DeleteRelevance<JobLevelInDepartment>(item);

            var jobTitleCollection = departmentRepository.GetAllRelevance<JobTitleInDepartment>().Where(x => x.Department.ID == dept.ID).OrderBy(s => s.SortCode);
            foreach (var item in jobTitleCollection)
                departmentRepository.DeleteRelevance<JobTitleInDepartment>(item);

            foreach(var item in dept.Types)
            {
                var tItem = new DepartmentTypeInDepartment() { Name = "", Department = dept, DepartmentType = item };
                departmentRepository.AddRelevance<DepartmentTypeInDepartment>(tItem);
            }
            foreach (var item in dept.JobLevels)
            {
                var tItem = new JobLevelInDepartment() { Name = "", Department = dept, JobLevel=item };
                departmentRepository.AddRelevance<JobLevelInDepartment>(tItem);
            }
            foreach (var item in dept.JobTitles)
            {
                var tItem = new JobTitleInDepartment() { Name = "", Department = dept, JobTitle=item};
                departmentRepository.AddRelevance<JobTitleInDepartment>(tItem);
            }

            departmentRepository.Save();
        }