public DepartmentVM(Department bo) { this.ID = bo.ID; this.Name = bo.Name; this.Description = bo.Description; this.SortCode = bo.SortCode; this.IsActiveDepartment = bo.IsActiveDepartment; if (bo.IsActiveDepartment) this.IsActiveDepartmentString = "是"; else this.IsActiveDepartmentString = "否"; if (bo.ParentDapartment != null) { this.ParentItemID = bo.ParentDapartment.ID.ToString(); this.ParentItem = new SelfReferentialItem() { ID = bo.ID.ToString(), ParentID = bo.ParentDapartment.ID.ToString(), ItemName = bo.ParentDapartment.Name, SortCode = bo.ParentDapartment.SortCode, OperateName = "", TargetType = "", TipsString = "" }; } this.IsActiveDepartmentSelector = new List<PlainFacadeItem>() { new PlainFacadeItem(){ ID = "true", Name = "是"}, new PlainFacadeItem(){ ID = "false", Name = "否"} }; }
public ActionResult CreateOrEdit(Guid id) { bool isNew = false; var bo = _Service.GetSingle(id); if (bo == null) { bo = new Department(); bo.ID = id; isNew = true; } var boVM = new DepartmentVM(bo); boVM.ParentItemColection = BusinessCollectionFactory<Department>.GetSelfReferentialItemCollection(true); var editor = PageComponentRepository<DepartmentVM>.CreateOrEditDialog(boVM, isNew); return Json(editor); }
public static void AddDepartment() { var d1 = new Department() { Name = "总经办", Description = "", SortCode = "001", IsActiveDepartment = true }; d1.ParentDapartment = d1; var d2 = new Department() { Name = "行政事业部", Description = "", SortCode = "002", IsActiveDepartment = true }; d2.ParentDapartment = d2; var d3 = new Department() { Name = "企业规划部", Description = "", SortCode = "003", IsActiveDepartment = true }; d3.ParentDapartment = d3; var d4 = new Department() { Name = "质量管理部", Description = "", SortCode = "004", IsActiveDepartment = true }; d4.ParentDapartment = d4; var d5 = new Department() { Name = "人力资源部", Description = "", SortCode = "005", IsActiveDepartment = true }; d5.ParentDapartment = d5; var d6 = new Department() { Name = "财务管理部", Description = "", SortCode = "006", IsActiveDepartment = true }; d6.ParentDapartment = d6; var d7 = new Department() { Name = "工会", Description = "", SortCode = "007", IsActiveDepartment = true }; d7.ParentDapartment = d7; var deptCollection = new List<Department>() { d1,d2,d3,d4,d5,d6,d7}; foreach(var item in deptCollection ) _DBContext.Departments.Add(item); _DBContext.SaveChanges(); }
public void MapToBo(Department bo, Department parentBo) { bo.Name = Name; bo.Description = Description; bo.SortCode = SortCode; bo.IsActiveDepartment = IsActiveDepartment; bo.ParentDapartment = parentBo; }
public ActionResult Save(DepartmentVM boVM) { if (ModelState.IsValid) { var bo = _Service.GetSingle(boVM.ID); if (bo == null) { bo = new Department(); bo.ID = boVM.ID; } var parentBo = bo; // 对于具有层次结构关系的实体类,如果没有选择上级层次对象,缺省处理为自身,即为根节点对象。 if (!String.IsNullOrEmpty(boVM.ParentItemID)) parentBo = _Service.GetSingle(Guid.Parse(boVM.ParentItemID)); boVM.MapToBo(bo,parentBo); _Service.AddOrEditAndSave(bo); var typeID = bo.ParentDapartment.ID.ToString(); var extessionFunction = "RefreshTreeView"; // 约定数据持久化之后,除了执行返回列表的方法外,还需要执行的刷新导航树的另外的方法 return Json(PageComponentRepository<DepartmentVM>.SaveOK(true, "1", typeID, extessionFunction)); } else { var vItems = new List<ValidatorResult>(); foreach (var item in ModelState) { if (item.Value.Errors != null) { foreach (var vItem in item.Value.Errors) { var errItem = new ValidatorResult(); errItem.Name = item.Key; errItem.ErrorMessage = vItem.ErrorMessage; vItems.Add(errItem); } } } boVM.ParentItemColection = BusinessCollectionFactory<Department>.GetSelfReferentialItemCollection(true); var editor = PageComponentRepository<DepartmentVM>.UpdateCreateOrEditDialog(boVM, false, vItems).InnerHtmlContent; return Json(editor); } }
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(); }