/// <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(); }
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(); }