Example #1
0
        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 = "否"}
            };
        }
Example #2
0
        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);
        }
Example #3
0
        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();
        }
Example #4
0
 public void MapToBo(Department bo, Department parentBo)
 {
     bo.Name = Name;
     bo.Description = Description;
     bo.SortCode = SortCode;
     bo.IsActiveDepartment = IsActiveDepartment;
     bo.ParentDapartment = parentBo;
 }
Example #5
0
        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);
            }
        }
Example #6
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();
        }