Beispiel #1
0
        public void CreateTest()
        {
            GradeClassInfoVM vm = _controller.Wtm.CreateVM <GradeClassInfoVM>();
            GradeClassInfo   v  = new GradeClassInfo();

            v.ID      = 51;
            v.Code    = "FRMl5";
            v.GradeId = AddGrade();
            v.Name    = "bfJXKT";
            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 <GradeClassInfo>().Find(v.ID);

                Assert.AreEqual(data.ID, 51);
                Assert.AreEqual(data.Code, "FRMl5");
                Assert.AreEqual(data.Name, "bfJXKT");
                Assert.AreEqual(data.CreateBy, "user");
                Assert.IsTrue(DateTime.Now.Subtract(data.CreateTime.Value).Seconds < 10);
            }
        }
Beispiel #2
0
        public void BatchDeleteTest()
        {
            GradeClassInfo v1 = new GradeClassInfo();
            GradeClassInfo v2 = new GradeClassInfo();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v1.ID      = 51;
                v1.Code    = "FRMl5";
                v1.GradeId = AddGrade();
                v1.Name    = "bfJXKT";
                v2.ID      = 68;
                v2.Code    = "EUInO7L";
                v2.GradeId = v1.GradeId;
                v2.Name    = "CXRL";
                context.Set <GradeClassInfo>().Add(v1);
                context.Set <GradeClassInfo>().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 <GradeClassInfo>().Find(v1.ID);
                var data2 = context.Set <GradeClassInfo>().Find(v2.ID);
                Assert.AreEqual(data1.IsValid, false);
                Assert.AreEqual(data2.IsValid, false);
            }

            rv = _controller.BatchDelete(new string[] {});
            Assert.IsInstanceOfType(rv, typeof(OkResult));
        }
        private Int32 AddGradeClass()
        {
            GradeClassInfo v = new GradeClassInfo();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.ID      = 12;
                v.Code    = "nrp9tUWlG";
                v.GradeId = AddGrade();
                v.Name    = "OnExyHKDW";
                context.Set <GradeClassInfo>().Add(v);
                context.SaveChanges();
            }
            return(v.ID);
        }
Beispiel #4
0
        private Int32 AddGradeClass()
        {
            GradeClassInfo v = new GradeClassInfo();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.ID      = 8;
                v.Code    = "SXh6Cq1MT";
                v.GradeId = AddGrade();
                v.Name    = "jLh";
                context.Set <GradeClassInfo>().Add(v);
                context.SaveChanges();
            }
            return(v.ID);
        }
Beispiel #5
0
        public void GetTest()
        {
            GradeClassInfo v = new GradeClassInfo();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.ID      = 51;
                v.Code    = "FRMl5";
                v.GradeId = AddGrade();
                v.Name    = "bfJXKT";
                context.Set <GradeClassInfo>().Add(v);
                context.SaveChanges();
            }
            var rv = _controller.Get(v.ID.ToString());

            Assert.IsNotNull(rv);
        }
Beispiel #6
0
        public void EditTest()
        {
            GradeClassInfo v = new GradeClassInfo();

            using (var context = new DataContext(_seed, DBTypeEnum.Memory))
            {
                v.ID      = 51;
                v.Code    = "FRMl5";
                v.GradeId = AddGrade();
                v.Name    = "bfJXKT";
                context.Set <GradeClassInfo>().Add(v);
                context.SaveChanges();
            }

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

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

            v.Code    = "EUInO7L";
            v.Name    = "CXRL";
            vm.Entity = v;
            vm.FC     = new Dictionary <string, object>();

            vm.FC.Add("Entity.ID", "");
            vm.FC.Add("Entity.Code", "");
            vm.FC.Add("Entity.GradeId", "");
            vm.FC.Add("Entity.Name", "");
            var rv = _controller.Edit(vm);

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

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

                Assert.AreEqual(data.Code, "EUInO7L");
                Assert.AreEqual(data.Name, "CXRL");
                Assert.AreEqual(data.UpdateBy, "user");
                Assert.IsTrue(DateTime.Now.Subtract(data.UpdateTime.Value).Seconds < 10);
            }
        }
        public ActionResult <Overview> GetOverview()
        {
            var SchoolOver = new Campus();
            var BaiYang    = new Campus();
            var East       = new Campus();

            SchoolOver.Property = new StudentGroupProperty(Dataset.StudentList);
            BaiYang.Property    = new StudentGroupProperty(Dataset.StudentList.Where(z => z.Campus == "白").ToList());
            East.Property       = new StudentGroupProperty(Dataset.StudentList.Where(z => z.Campus == "东").ToList());

            //只选择2018-2019-1学年的教师,教师可能会教多个班级,所以需要Distinct一下
            SchoolOver.TeacherCnt    = Dataset.TeacherList.Where(x => x.Term == "2018-2019-1").Select(x => x.Id).Distinct().Count();
            SchoolOver.TeacherSubCnt = new Dictionary <string, int>();
            foreach (var teacherid in Dataset.TeacherList.Where(x => x.Term == "2018-2019-1").Select(x => x.Id).Distinct())
            {
                var teacher = Dataset.TeacherList.Where(x => x.Id == teacherid).First();
                if (!SchoolOver.TeacherSubCnt.ContainsKey(teacher.SubName))
                {
                    SchoolOver.TeacherSubCnt.Add(teacher.SubName, 0);
                }
                SchoolOver.TeacherSubCnt[teacher.SubName]++;
            }
            SchoolOver.ClassCnt   = Dataset.StudentList.Select(x => x.ClassName).Distinct().Count(y => { return(!y.Contains("未分班")); });
            SchoolOver.ClassIBCnt = Dataset.StudentList.Select(x => x.ClassName).Distinct().Count(y => { return(y.Contains("IB")); });

            BaiYang.TeacherCnt    = Dataset.TeacherList.Where(x => x.Term == "2018-2019-1" && x.Campus == "白").Select(x => x.Id).Distinct().Count();
            BaiYang.TeacherSubCnt = new Dictionary <string, int>();
            foreach (var teacherid in Dataset.TeacherList.Where(x => x.Term == "2018-2019-1" && x.Campus == "白").Select(x => x.Id).Distinct())
            {
                var teacher = Dataset.TeacherList.Where(x => x.Id == teacherid).First();
                if (!BaiYang.TeacherSubCnt.ContainsKey(teacher.SubName))
                {
                    BaiYang.TeacherSubCnt.Add(teacher.SubName, 0);
                }
                BaiYang.TeacherSubCnt[teacher.SubName]++;
            }
            BaiYang.ClassCnt   = Dataset.StudentList.Where(z => z.Campus == "白").Select(x => x.ClassName).Distinct().Count(y => { return(!y.Contains("未分班")); });
            BaiYang.ClassIBCnt = Dataset.StudentList.Where(z => z.Campus == "白").Select(x => x.ClassName).Distinct().Count(y => { return(y.Contains("IB")); });


            East.TeacherCnt    = Dataset.TeacherList.Where(x => x.Term == "2018-2019-1" && x.Campus == "东").Select(x => x.Id).Distinct().Count();
            East.TeacherSubCnt = new Dictionary <string, int>();
            foreach (var teacherid in Dataset.TeacherList.Where(x => x.Term == "2018-2019-1" && x.Campus == "东").Select(x => x.Id).Distinct())
            {
                var teacher = Dataset.TeacherList.Where(x => x.Id == teacherid).First();
                if (!East.TeacherSubCnt.ContainsKey(teacher.SubName))
                {
                    East.TeacherSubCnt.Add(teacher.SubName, 0);
                }
                East.TeacherSubCnt[teacher.SubName]++;
            }
            East.ClassCnt   = Dataset.StudentList.Where(z => z.Campus == "东").Select(x => x.ClassName).Distinct().Count(y => { return(!y.Contains("未分班")); });
            East.ClassIBCnt = Dataset.StudentList.Where(z => z.Campus == "东").Select(x => x.ClassName).Distinct().Count(y => { return(y.Contains("IB")); });

            SchoolOver.Grade1SexRate        = new PNRateItem();
            SchoolOver.Grade2SexRate        = new PNRateItem();
            SchoolOver.Grade3SexRate        = new PNRateItem();
            SchoolOver.Grade1SexRate.PosCnt = Dataset.StudentList.Count(x => x.Sex == "男" && x.ClassName.Contains("高一"));
            SchoolOver.Grade1SexRate.NegCnt = Dataset.StudentList.Count(x => x.Sex == "女" && x.ClassName.Contains("高一"));
            SchoolOver.Grade2SexRate.PosCnt = Dataset.StudentList.Count(x => x.Sex == "男" && x.ClassName.Contains("高二"));
            SchoolOver.Grade2SexRate.NegCnt = Dataset.StudentList.Count(x => x.Sex == "女" && x.ClassName.Contains("高二"));
            SchoolOver.Grade3SexRate.PosCnt = Dataset.StudentList.Count(x => x.Sex == "男" && x.ClassName.Contains("高三"));
            SchoolOver.Grade3SexRate.NegCnt = Dataset.StudentList.Count(x => x.Sex == "女" && x.ClassName.Contains("高三"));


            BaiYang.Grade1SexRate        = new PNRateItem();
            BaiYang.Grade2SexRate        = new PNRateItem();
            BaiYang.Grade3SexRate        = new PNRateItem();
            BaiYang.Grade1SexRate.PosCnt = Dataset.StudentList.Count(x => x.Campus == "白" && x.Sex == "男" && x.ClassName.Contains("高一"));
            BaiYang.Grade1SexRate.NegCnt = Dataset.StudentList.Count(x => x.Campus == "白" && x.Sex == "女" && x.ClassName.Contains("高一"));
            BaiYang.Grade2SexRate.PosCnt = Dataset.StudentList.Count(x => x.Campus == "白" && x.Sex == "男" && x.ClassName.Contains("高二"));
            BaiYang.Grade2SexRate.NegCnt = Dataset.StudentList.Count(x => x.Campus == "白" && x.Sex == "女" && x.ClassName.Contains("高二"));
            BaiYang.Grade3SexRate.PosCnt = Dataset.StudentList.Count(x => x.Campus == "白" && x.Sex == "男" && x.ClassName.Contains("高三"));
            BaiYang.Grade3SexRate.NegCnt = Dataset.StudentList.Count(x => x.Campus == "白" && x.Sex == "女" && x.ClassName.Contains("高三"));

            //东部校区只有高一,这里简化了
            East.Grade1SexRate        = new PNRateItem();
            East.Grade1SexRate.PosCnt = Dataset.StudentList.Count(x => x.Campus == "东" && x.Sex == "男" && x.ClassName.Contains("高一"));
            East.Grade1SexRate.NegCnt = Dataset.StudentList.Count(x => x.Campus == "东" && x.Sex == "女" && x.ClassName.Contains("高一"));

            //宿舍分析
            var RoomInfo = new RoomCntInfo();

            foreach (var student in Dataset.StudentList)
            {
                RoomInfo.AddStudent(student);
            }

            var gradeOneClassInfo = new GradeClassInfo();

            gradeOneClassInfo.label = "高一";
            gradeOneClassInfo.items = new List <ClassBaseInfo>();
            foreach (var item in Dataset.classBaseInfoList)
            {
                if (item.label.Contains("高一"))
                {
                    gradeOneClassInfo.items.Add(item);
                }
            }
            gradeOneClassInfo.items.Sort((x, y) => { return(x.value.CompareTo(y.value)); });


            var gradeTwoClassInfo = new GradeClassInfo();

            gradeTwoClassInfo.label = "高二";
            gradeTwoClassInfo.items = new List <ClassBaseInfo>();
            foreach (var item in Dataset.classBaseInfoList)
            {
                if (item.label.Contains("高二"))
                {
                    gradeTwoClassInfo.items.Add(item);
                }
            }
            gradeTwoClassInfo.items.Sort((x, y) => { return(x.value.CompareTo(y.value)); });


            var gradeThreeClassInfo = new GradeClassInfo();

            gradeThreeClassInfo.label = "高三";
            gradeThreeClassInfo.items = new List <ClassBaseInfo>();
            foreach (var item in Dataset.classBaseInfoList)
            {
                if (item.label.Contains("高三"))
                {
                    gradeThreeClassInfo.items.Add(item);
                }
            }
            gradeThreeClassInfo.items.Sort((x, y) => { return(x.label.CompareTo(y.label)); });

            return(new Overview
            {
                Total = SchoolOver,
                BaiYang = BaiYang,
                East = East,
                SchoolRooms = RoomInfo,
                gradeClassInfoList = new List <GradeClassInfo>()
                {
                    gradeOneClassInfo, gradeTwoClassInfo, gradeThreeClassInfo
                },
                totalWorkdaycnt = Utility.GetTotalDaysCnt()
            });
        }