コード例 #1
0
 public ActionResult List(Models.StudyRoom.List vm)
 {
     return(Code.MvcHelper.Post(null, Url.Action("List", new
     {
         studyId = vm.StudyId,
         searchText = vm.SearchText,
         pageSize = vm.Page.PageSize,
         pageCount = vm.Page.PageCount,
         pageIndex = vm.Page.PageIndex
     })));
 }
コード例 #2
0
        public ActionResult List()
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var vm = new Models.StudyRoom.List();
                var tb = from p in db.Table <Study.Entity.tbStudyRoom>()
                         where p.tbStudy.Id == vm.StudyId &&
                         p.tbRoom.IsDeleted == false &&
                         p.tbStudy.IsDeleted == false
                         select p;

                if (string.IsNullOrEmpty(vm.SearchText) == false)
                {
                    tb = tb.Where(d => d.tbRoom.RoomName.Contains(vm.SearchText));
                }

                vm.StudyRoomList = (from p in tb
                                    orderby p.tbRoom.No
                                    select new Dto.StudyRoom.List
                {
                    Id = p.Id,
                    RoomId = p.tbRoom.Id,
                    RoomName = p.tbRoom.RoomName,
                    StudyName = p.tbStudy.StudyName,
                    BuildName = p.tbRoom.tbBuild.BuildName,
                    RoomTypeName = p.tbRoom.tbRoomType.RoomTypeName,
                    MaxUser = p.tbRoom.MaxUser,
                    StudentCount = db.Set <Study.Entity.tbStudyRoomStudent>().Where(d => d.IsDeleted == false && d.tbStudent.IsDeleted == false && d.tbStudy.IsDeleted == false && d.tbRoom.IsDeleted == false && d.tbStudy.Id == p.tbStudy.Id && d.tbRoom.Id == p.tbRoom.Id).Distinct().Count(),
                    TeacherName = "",
                }).ToPageList(vm.Page);

                var roomTeacherList = (from p in db.Table <Study.Entity.tbStudyRoomTeacher>()
                                       where p.tbRoom.IsDeleted == false &&
                                       p.tbStudy.IsDeleted == false &&
                                       p.tbTeacher.IsDeleted == false &&
                                       p.tbWeek.IsDeleted == false &&
                                       p.tbStudy.Id == vm.StudyId
                                       select new
                {
                    roomId = p.tbRoom.Id,
                    TeacherName = p.tbTeacher.TeacherName
                }).Distinct().ToList();

                foreach (var a in vm.StudyRoomList)
                {
                    a.TeacherName = string.Join(",", roomTeacherList.Where(d => d.roomId == a.RoomId).Select(d => d.TeacherName));
                }
                return(View(vm));
            }
        }
コード例 #3
0
        public ActionResult Export()
        {
            var vm = new Models.StudyRoom.List();

            using (var db = new XkSystem.Models.DbContext())
            {
                var file = System.IO.Path.GetTempFileName();

                var tb = from p in db.Table <Study.Entity.tbStudyRoom>()
                         where p.tbStudy.Id == vm.StudyId &&
                         p.tbRoom.IsDeleted == false &&
                         p.tbStudy.IsDeleted == false
                         select p;

                if (string.IsNullOrEmpty(vm.SearchText) == false)
                {
                    tb = tb.Where(d => d.tbRoom.RoomName.Contains(vm.SearchText));
                }

                vm.StudyRoomList = (from p in tb
                                    orderby p.tbRoom.No
                                    select new Dto.StudyRoom.List
                {
                    Id = p.Id,
                    RoomId = p.tbRoom.Id,
                    RoomName = p.tbRoom.RoomName,
                    StudyName = p.tbStudy.StudyName,
                    BuildName = p.tbRoom.tbBuild.BuildName,
                    RoomTypeName = p.tbRoom.tbRoomType.RoomTypeName,
                    MaxUser = p.tbRoom.MaxUser,
                    StudentCount = db.Set <Study.Entity.tbStudyRoomStudent>().Where(d => d.IsDeleted == false && d.tbStudent.IsDeleted == false && d.tbStudy.IsDeleted == false && d.tbRoom.IsDeleted == false && d.tbStudy.Id == p.tbStudy.Id && d.tbRoom.Id == p.tbRoom.Id).Distinct().Count(),
                    TeacherName = "",
                }).ToList();

                var roomTeacherList = (from p in db.Table <Study.Entity.tbStudyRoomTeacher>()
                                       where p.tbRoom.IsDeleted == false &&
                                       p.tbStudy.IsDeleted == false &&
                                       p.tbTeacher.IsDeleted == false &&
                                       p.tbWeek.IsDeleted == false &&
                                       p.tbStudy.Id == vm.StudyId
                                       select new
                {
                    roomId = p.tbRoom.Id,
                    TeacherName = p.tbTeacher.TeacherName
                }).Distinct().ToList();

                foreach (var a in vm.StudyRoomList)
                {
                    a.TeacherName = string.Join(",", roomTeacherList.Where(d => d.roomId == a.RoomId).Select(d => d.TeacherName));
                }

                var dt = new System.Data.DataTable();
                dt.Columns.AddRange(new System.Data.DataColumn[]
                {
                    new System.Data.DataColumn("序号"),
                    new System.Data.DataColumn("晚自习名称"),
                    new System.Data.DataColumn("教学楼"),
                    new System.Data.DataColumn("教室"),
                    new System.Data.DataColumn("教室类型"),
                    new System.Data.DataColumn("教管"),
                    new System.Data.DataColumn("容纳人数"),
                    new System.Data.DataColumn("学生人数")
                });
                var index = 0;
                foreach (var a in vm.StudyRoomList)
                {
                    index++;
                    var dr = dt.NewRow();
                    dr["序号"]    = index.ToString();
                    dr["晚自习名称"] = a.StudyName;
                    dr["教学楼"]   = a.BuildName;
                    dr["教室"]    = a.RoomName;
                    dr["教室类型"]  = a.RoomTypeName;
                    dr["教管"]    = a.TeacherName;
                    dr["容纳人数"]  = a.MaxUser;
                    dr["学生人数"]  = a.StudentCount;
                    dt.Rows.Add(dr);
                }

                Code.NpoiHelper.DataTableToExcel(file, dt);

                if (string.IsNullOrEmpty(file) == false)
                {
                    return(File(file, Code.Common.DownloadType, Code.Common.ExportByExcel));
                }
                else
                {
                    return(View());
                }
            }
        }