コード例 #1
0
        public void BatchDeleteTest()
        {
            MajorManager v1 = new MajorManager();
            MajorManager v2 = new MajorManager();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v1.ID        = 29;
                v1.HonorId   = AddHonor();
                v1.StudentId = AddStudent();
                v2.ID        = 7;
                v2.HonorId   = v1.HonorId;
                v2.StudentId = v1.StudentId;
                context.Set <MajorManager>().Add(v1);
                context.Set <MajorManager>().Add(v2);
                context.SaveChanges();
            }

            var rv = _controller.BatchDelete(new string[] { v1.ID.ToString(), v2.ID.ToString() });

            Assert.IsInstanceOfType(rv, typeof(OkObjectResult));

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                var data1 = context.Set <MajorManager>().Find(v1.ID);
                var data2 = context.Set <MajorManager>().Find(v2.ID);
                Assert.AreEqual(data1.IsValid, false);
                Assert.AreEqual(data2.IsValid, false);
            }

            rv = _controller.BatchDelete(new string[] {});
            Assert.IsInstanceOfType(rv, typeof(OkResult));
        }
コード例 #2
0
        /// <summary>
        /// 项目申报页
        /// </summary>
        /// <param name="prizeId"></param>
        /// <param name="projectId"></param>
        /// <returns></returns>
        public async Task <IActionResult> Post(int prizeId, int?subMajorId, int?projectId)
        {
            var matchInstance = await GetCurrentMatchInstance();

            var prize = await PrizeManager.GetByIdAsync(prizeId);

            var matchResources = await MatchResourceRepository.GetAll().Where(o => o.MajorId == prize.MajorId && o.MatchInstanceId == matchInstance.Id && o.MatchResourceStatus == Matches.MatchResourceStatus.Publish).ToListAsync();

            ViewData["matchResources"] = matchResources;
            ViewData["subMajorId"]     = subMajorId == null?"":subMajorId.Value.ToString();
            ViewData["matchRemarks"]   = matchInstance.Remarks;
            ViewData["prizeRemarks"]   = prize.Remarks;

            ViewBag.ProjectId = projectId;
            //第三级专业
            List <string> ThirdLevelMajors = new List <string>();

            if (subMajorId != null)
            {
                var childMajors = await MajorManager.FindChildrenAsync(null, matchInstance.Id, subMajorId);

                ThirdLevelMajors = childMajors.OrderBy(o => o.Sort).Select(o => o.BriefName).ToList();
            }
            ViewData["ThirdLevelMajors"] = ThirdLevelMajors;
            //所有单位
            var organizations = (await OrganizationManager.FindChildrenAsync(null, true));

            ViewData["organizations"] = organizations;
            ViewData["matchInstance"] = matchInstance;
            return(View(prize));
        }
コード例 #3
0
        public virtual async Task <IViewComponentResult> InvokeAsync(int projectId)
        {
            ViewData["OriProjectId"] = projectId;//原始projectId,用于区分下面的关联ProjectId
            var project = await ProjectManager.GetByIdAsync(projectId);

            if (project.ProjectSource == ProjectSource.CrossMatch)
            {
                project = project.CrossProject;
            }
            var prize = await PrizeManager.GetByIdAsync(project.PrizeId);

            ProjectManager.Repository.EnsurePropertyLoaded(project, o => o.PrizeSubMajor);
            var matchInstance = await MatchInstanceManager.Repository.GetAllIncluding(o => o.Match).Where(o => o.Id == project.MatchInstanceId).FirstOrDefaultAsync();

            var matchResources = await MatchResourceManager.Repository.GetAll().Where(o => o.MajorId == prize.MajorId && o.MatchInstanceId == project.MatchInstanceId && o.MatchResourceStatus == Matches.MatchResourceStatus.Publish).ToListAsync();

            ViewData["matchInstance"]  = matchInstance;
            ViewData["matchResources"] = matchResources;
            ViewData["subMajorId"]     = project.PrizeSubMajor == null ? "" : project.PrizeSubMajor.MajorId.ToString();
            //第三级专业
            List <string> ThirdLevelMajors = new List <string>();

            if (project.PrizeSubMajor != null)
            {
                var childMajors = await MajorManager.FindChildrenAsync(null, project.MatchInstanceId, project.PrizeSubMajor.MajorId);

                ThirdLevelMajors = childMajors.OrderBy(o => o.Sort).Select(o => o.BriefName).ToList();
            }
            ViewData["ThirdLevelMajors"] = ThirdLevelMajors;
            ViewData["ProjectId"]        = project.Id;
            return(View(prize));
        }
コード例 #4
0
        public async Task <ActionResult> Edit(MajorEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                var major = await MajorManager.FindEntityByIdAsync(model.Id);

                if (major == null)
                {
                    ModelState.AddModelError("", "未找到此项major");
                    return(View(model));
                }
                var depart = await DepartmentManager.FindEntityByIdAsync(model.DepartmentId);

                if (depart == null)
                {
                    ModelState.AddModelError("", "未找到此项depart");
                    return(View(model));
                }
                major.Name       = model.MajorName;
                major.Department = depart;
                await MajorManager.UpdateEntityAsync(major);

                return(RedirectToAction("Index"));
            }
            return(View(model));
        }
コード例 #5
0
        public async Task <ActionResult> Create()
        {
            var departments = await DepartmentManager.GetAllEntities().ToListAsync();

            SelectList departSelectList = new SelectList(departments, "Id", "Name");

            ViewBag.departSelectList = departSelectList;

            var majors = await MajorManager.GetMajorsForDepartment(departments.ElementAtOrDefault(0)).ToListAsync();

            SelectList majorSelectList = new SelectList(majors, "Id", "Name");

            ViewBag.majorSelectList = majorSelectList;

            var grades = await GradeManager.GetAllEntities().ToListAsync();

            SelectList gradeSelectList = new SelectList(grades, "Id", "GradeNum");

            ViewBag.gradeSelectList = gradeSelectList;

            var teachers = (await UserManager.GetNoClassTeachersAsync()).ToList();

            ViewBag.teacherSelectList = new SelectList(teachers, "Id", "Name");


            ViewBag.Classes = await ClassManager.GetAllEntities().ToListAsync();

            return(View());
        }
コード例 #6
0
        public async Task <ActionResult> Create()
        {
            ViewBag.Majors = await MajorManager.GetAllEntities().ToListAsync();

            var departments = await DepartmentManager.GetAllEntities().ToListAsync();

            SelectList selectList = new SelectList(departments, "Id", "Name");

            ViewBag.selectList = selectList;
            return(View());
        }
コード例 #7
0
        public async Task <ActionResult> Delete(int?id)
        {
            if (ModelState.IsValid)
            {
                var major = await MajorManager.FindEntityByIdAsync(id ?? 0);

                if (major != null)
                {
                    await MajorManager.DeleteEntityAsync(major);
                }
            }
            return(RedirectToAction("Index"));
        }
コード例 #8
0
        public async Task <ActionResult> Edit(int?id)
        {
            var class1 = await ClassManager.FindEntityByIdAsync(id ?? 0);

            if (class1 == null)
            {
                return(HttpNotFound("class不存在"));
            }
            var departments = await DepartmentManager.GetAllEntities().ToListAsync();

            SelectList departSelectList = new SelectList(departments.ToList(), "Id", "Name");

            ViewBag.departSelectList = departSelectList;

            var majors = await MajorManager.GetMajorsForDepartment(departments.ElementAtOrDefault(0)).ToListAsync();

            SelectList majorSelectList = new SelectList(majors.ToList(), "Id", "Name");

            ViewBag.majorSelectList = majorSelectList;

            var grades = await GradeManager.GetAllEntities().ToListAsync();

            SelectList gradeSelectList = new SelectList(grades.ToList(), "Id", "GradeNum");

            ViewBag.gradeSelectList = gradeSelectList;

            var teachers = (await UserManager.GetNoClassTeachersAsync()).ToList();

            if (class1.ClassTeacher != null)
            {
                teachers.Add(class1.ClassTeacher.Teacher);
            }
            ViewBag.teacherSelectList = new SelectList(teachers, "Id", "Name");

            ViewBag.Classes = await ClassManager.GetAllEntities().ToListAsync();

            var model = new ClassEditViewModel
            {
                Defination     = class1.ClassDefination,
                DepartmentId   = class1.Major.Department.Id,
                GradeId        = class1.Grade.Id,
                MajorId        = class1.Major.Id,
                Students       = await UserManager.GetStudentsOfClassAsync(class1).ToListAsync(),
                ClassTeacherId = class1.ClassTeacher == null ? null : class1.ClassTeacher.Teacher.Id
            };

            return(View(model));
        }
コード例 #9
0
        public void GetTest()
        {
            MajorManager v = new MajorManager();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.ID        = 29;
                v.HonorId   = AddHonor();
                v.StudentId = AddStudent();
                context.Set <MajorManager>().Add(v);
                context.SaveChanges();
            }
            var rv = _controller.Get(v.ID.ToString());

            Assert.IsNotNull(rv);
        }
コード例 #10
0
        public async Task <ActionResult> Create(MajorCreateViewModel major)
        {
            if (ModelState.IsValid)
            {
                if (string.IsNullOrEmpty(major.MajorName))
                {
                    ModelState.AddModelError("", "MajorName不能为空");
                }
                else if (major.DepartmentId == 0)
                {
                    ModelState.AddModelError("", "DepartmentId不能为空");
                }
                else
                {
                    var model = await MajorManager.FindMajorByNameAsync(major.MajorName);

                    if (model == null)
                    {
                        var instance = new Major()
                        {
                            Name = major.MajorName
                        };
                        await MajorManager.AddEntityAsync(instance);

                        model = await MajorManager.FindMajorByNameAsync(major.MajorName);

                        var depart = await DepartmentManager.FindEntityByIdAsync(major.DepartmentId);

                        if (depart == null)
                        {
                            ModelState.AddModelError("", "找不到对应学院");
                        }
                        await MajorManager.SetMajorsDepartmentAsync(new[] { model.Id }, depart);

                        return(RedirectToAction("Index"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "已有相同名称");
                    }
                }
            }
            return(View(major));
        }
コード例 #11
0
        public async Task <ActionResult> Edit(int?id)
        {
            var major = await MajorManager.FindEntityByIdAsync(id ?? 0);

            if (major == null)
            {
                return(HttpNotFound());
            }
            var departments = await DepartmentManager.GetAllEntities().ToListAsync();

            SelectList selectList = new SelectList(departments, "Id", "Name");

            ViewBag.selectList = selectList;
            var model = new MajorEditViewModel {
                Id = major.Id, DepartmentId = major.Department.Id, MajorName = major.Name
            };

            return(View(model));
        }
コード例 #12
0
        static void Main(string[] args)
        {
            var common = new CommonManager("欧阳新民");
            var majoy  = new MajorManager("杨多青");
            var top    = new TopManager("侯玉杰");

            common.SetSuperior(majoy);
            majoy.SetSuperior(top);


            common.ProcessingRequest(RequestType.Leave, 5);
            common.ProcessingRequest(RequestType.Leave, 1);
            common.ProcessingRequest(RequestType.Leave, 66);
            common.ProcessingRequest(RequestType.Leave, 17);
            common.ProcessingRequest(RequestType.Raises, 678);
            common.ProcessingRequest(RequestType.Raises, 300);

            Console.ReadKey();
        }
コード例 #13
0
        public async Task <IActionResult> SelProject(int reviewId)
        {
            var review = await ReviewRepository.GetAllIncluding(o => o.Major).Where(o => o.Id == reviewId).SingleAsync();

            List <Major> subMajors = new List <Major>();

            if (review.SubMajorId == null)
            {
                //如果未指定专业小类,需要列出所有专业小类供查询
                subMajors = await MajorManager.FindChildrenAsync(null, review.MatchInstanceId, review.MajorId);
            }
            else
            {
                ViewBag.SubMajor = await MajorManager.GetByIdAsync(review.SubMajorId.Value);
            }
            ViewBag.SubMajors = subMajors;
            ViewBag.Exclude   = Request.Cookies["excludeProjects"];
            return(View(review));
        }
コード例 #14
0
        public ActionResult Index(int?p, string searchString, string currentFilter)
        {
            var list = MajorManager.GetAllEntities();

            if (searchString != null)
            {
                p = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewBag.CurrentFilter = searchString;
            list = list.Where(e => string.IsNullOrEmpty(searchString) || e.Name.Contains(searchString));
            list = list.OrderBy(e => e.Name);
            var pagesize = 5;
            var page     = p ?? 1;

            return(View(list.ToPagedList(page, pagesize)));
        }
コード例 #15
0
        public void CreateTest()
        {
            MajorManagerVM vm = _controller.Wtm.CreateVM <MajorManagerVM>();
            MajorManager   v  = new MajorManager();

            v.ID        = 29;
            v.HonorId   = AddHonor();
            v.StudentId = AddStudent();
            vm.Entity   = v;
            var rv = _controller.Add(vm);

            Assert.IsInstanceOfType(rv, typeof(OkObjectResult));

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                var data = context.Set <MajorManager>().Find(v.ID);

                Assert.AreEqual(data.ID, 29);
                Assert.AreEqual(data.CreateBy, "user");
                Assert.IsTrue(DateTime.Now.Subtract(data.CreateTime.Value).Seconds < 10);
            }
        }
コード例 #16
0
        public async Task <IActionResult> SelExcludeExpert(int reviewId)
        {
            var review = await ReviewRepository.GetAllIncluding(o => o.Major).Where(o => o.Id == reviewId).SingleAsync();

            List <Major> subMajors = new List <Major>();

            if (review.SubMajorId == null)
            {
                //如果未指定专业小类,需要列出所有专业小类供查询
                subMajors = await MajorManager.FindChildrenAsync(null, review.MatchInstanceId, review.MajorId);
            }
            else
            {
                ViewBag.SubMajor = await MajorManager.GetByIdAsync(review.SubMajorId.Value);
            }
            ViewBag.SubMajors    = subMajors;
            ViewBag.Exclude      = Request.Cookies["excludeExperts"];
            ViewBag.AllExpertIds = Request.Cookies["allExpertIds"];
            var specialities = await SpecialityManager.GetAll().OrderBy(o => o.Name).ToListAsync();

            ViewBag.Specialities = specialities;
            return(View(review));
        }
コード例 #17
0
        public void EditTest()
        {
            MajorManager v = new MajorManager();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.ID        = 29;
                v.HonorId   = AddHonor();
                v.StudentId = AddStudent();
                context.Set <MajorManager>().Add(v);
                context.SaveChanges();
            }

            MajorManagerVM vm    = _controller.Wtm.CreateVM <MajorManagerVM>();
            var            oldID = v.ID;

            v    = new MajorManager();
            v.ID = oldID;

            vm.Entity = v;
            vm.FC     = new Dictionary <string, object>();

            vm.FC.Add("Entity.ID", "");
            vm.FC.Add("Entity.HonorId", "");
            vm.FC.Add("Entity.StudentId", "");
            var rv = _controller.Edit(vm);

            Assert.IsInstanceOfType(rv, typeof(OkObjectResult));

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                var data = context.Set <MajorManager>().Find(v.ID);

                Assert.AreEqual(data.UpdateBy, "user");
                Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10);
            }
        }
コード例 #18
0
        public async Task <ActionResult> Create(ClassCreateViewModel model)
        {
            if (ModelState.IsValid)
            {
                var departments = await DepartmentManager.GetAllEntities().ToListAsync();

                SelectList departSelectList = new SelectList(departments, "Id", "Name");
                ViewBag.departSelectList = departSelectList;

                var majors = await MajorManager.GetMajorsForDepartment(departments.ElementAtOrDefault(0)).ToListAsync();

                SelectList majorSelectList = new SelectList(majors, "Id", "Name");
                ViewBag.majorSelectList = majorSelectList;

                var grades = await GradeManager.GetAllEntities().ToListAsync();

                SelectList gradeSelectList = new SelectList(grades, "Id", "GradeNum");
                ViewBag.gradeSelectList = gradeSelectList;

                var teachers = (await UserManager.GetNoClassTeachersAsync()).ToList();
                ViewBag.teacherSelectList = new SelectList(teachers, "Id", "Name");

                ViewBag.Classes = await ClassManager.GetAllEntities().ToListAsync();

                var grade = await GradeManager.FindEntityByIdAsync(model.GradeId);

                if (grade == null)
                {
                    ModelState.AddModelError("", "找不到grade");
                    return(View(model));
                }
                var major = await MajorManager.FindEntityByIdAsync(model.MajorId);

                if (major == null)
                {
                    ModelState.AddModelError("", "找不到major");
                    return(View(model));
                }
                var teacher = await UserManager.FindByIdAsync(model.ClassTeacherId);

                if (teacher == null)
                {
                    ModelState.AddModelError("", "找不到teacher");
                    return(View(model));
                }
                var class1 = new Class
                {
                    ClassDefination = model.Defination,
                    Grade           = grade,
                    Major           = major,
                    ClassTeacher    = teacher.TeacherInfo
                };
                if (await ClassManager.IsEntityExistByLamdaAsync(c =>
                                                                 c.Grade.Id == class1.Grade.Id && c.Major.Id == class1.Major.Id &&
                                                                 c.ClassDefination == class1.ClassDefination))
                {
                    ModelState.AddModelError("", "已存在Class");
                    return(View(model));
                }
                var class2 = await ClassManager.AddEntityAsync(class1);

                teacher.TeacherInfo.ManageClass = class2;
                await UserManager.UpdateAsync(teacher);


                return(RedirectToAction("Index"));
            }
            return(View(model));
        }
コード例 #19
0
        public async Task <ActionResult> Edit(ClassEditViewModel model)
        {
            var departments = await DepartmentManager.GetAllEntities().ToListAsync();

            SelectList departSelectList = new SelectList(departments.ToList(), "Id", "Name");

            ViewBag.departSelectList = departSelectList;

            var majors = await MajorManager.GetMajorsForDepartment(departments.ElementAtOrDefault(0)).ToListAsync();

            SelectList majorSelectList = new SelectList(majors.ToList(), "Id", "Name");

            ViewBag.majorSelectList = majorSelectList;

            var grades = await GradeManager.GetAllEntities().ToListAsync();

            SelectList gradeSelectList = new SelectList(grades.ToList(), "Id", "GradeNum");

            ViewBag.gradeSelectList = gradeSelectList;

            var teachers = (await UserManager.GetNoClassTeachersAsync()).ToList();

            ViewBag.teacherSelectList = new SelectList(teachers, "Id", "Name");

            ViewBag.Classes = await ClassManager.GetAllEntities().ToListAsync();

            if (ModelState.IsValid)
            {
                var class1 = await ClassManager.FindEntityByIdAsync(model.Id);

                if (class1 == null)
                {
                    ModelState.AddModelError("", "找不到class1");
                    return(View(model));
                }
                var grade = await GradeManager.FindEntityByIdAsync(model.GradeId);

                if (grade == null)
                {
                    ModelState.AddModelError("", "找不到grade");
                    return(View(model));
                }
                var major = await MajorManager.FindEntityByIdAsync(model.MajorId);

                if (major == null)
                {
                    ModelState.AddModelError("", "找不到major");
                    return(View(model));
                }
                var teacher = await UserManager.FindByIdAsync(model.ClassTeacherId);

                if (teacher == null)
                {
                    ModelState.AddModelError("", "找不到teacher");
                    return(View(model));
                }
                class1.Major           = major;
                class1.Grade           = grade;
                class1.ClassDefination = model.Defination;
                class1.ClassTeacher    = teacher.TeacherInfo;

                await ClassManager.UpdateEntityAsync(class1);

                teacher.TeacherInfo.ManageClass = class1;
                await UserManager.UpdateAsync(teacher);

                await UserManager.RemoveStudentsFromClassAsync(model.IdsToRemove ?? new string[] { });

                return(RedirectToAction("Index"));
            }
            return(View(model));
        }