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); } }
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); }
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); }
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); }
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() }); }