예제 #1
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();
        }
예제 #2
0
        public ActionResult Save(SystemWorkPlaceVM boVM)
        {
            if (ModelState.IsValid)
            {
                var bo = _Service.GetSingle(boVM.ID);
                if (bo == null)
                {
                    bo    = new SystemWorkPlace();
                    bo.ID = boVM.ID;
                }

                var appID = Assembly.GetExecutingAssembly().ManifestModule.ModuleVersionId;

                var appInfo = _Service.GetSingleRelevance <ApplicationInformation>(appID);
                if (appInfo == null)
                {
                    appInfo             = new ApplicationInformation();
                    appInfo.ID          = appID;
                    appInfo.AppID       = appID;
                    appInfo.Name        = "";
                    appInfo.Description = "";
                    appInfo.SortCode    = "001";
                    _Service.AddRelevance <ApplicationInformation>(appInfo);
                    _Service.Save();
                }
                boVM.MapToBo(bo, appInfo);
                _Service.AddOrEditAndSave(bo);

                return(Json(PageComponentRepository <SystemWorkPlaceVM> .SaveOK(true, "1", "")));
            }
            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);
                        }
                    }
                }

                var editor = PageComponentRepository <SystemWorkPlaceVM> .UpdateCreateOrEditDialog(boVM, false, vItems).InnerHtmlContent;

                return(Json(editor));
            }
        }
예제 #3
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();
        }