Example #1
0
        public ActionResult List()
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var vm = new Models.StudyClassStudent.List();

                vm.ClassList = Study.Controllers.StudyClassController.SelectList(vm.StudyId);
                vm.ClassList.Insert(0, new SelectListItem {
                    Text = "==全部==", Value = "0"
                });

                var tbClassIds = (from p in db.Table <Study.Entity.tbStudyClass>()
                                  where p.tbStudy.Id == vm.StudyId &&
                                  p.tbStudy.IsDeleted == false &&
                                  p.tbClass.IsDeleted == false
                                  select p.tbClass.Id).Distinct().ToList();

                var tbClassStudent = from p in db.Table <Basis.Entity.tbClassStudent>()
                                     orderby p.tbClass.No, p.No
                where tbClassIds.Contains(p.tbClass.Id) &&
                p.tbClass.IsDeleted == false &&
                p.tbStudent.IsDeleted == false
                select p;

                if (vm.ClassId != 0)
                {
                    tbClassStudent = tbClassStudent.Where(d => d.tbClass.Id == vm.ClassId);
                }

                if (string.IsNullOrEmpty(vm.SearchText) == false)
                {
                    tbClassStudent = tbClassStudent.Where(d => d.tbStudent.StudentCode.Contains(vm.SearchText) || d.tbStudent.StudentName.Contains(vm.SearchText));
                }

                var tbStudyClassStudentList = from p in db.Table <Study.Entity.tbStudyClassStudent>()
                                              where p.tbStudy.Id == vm.StudyId &&
                                              tbClassIds.Contains(p.tbClass.Id) &&
                                              p.tbStudy.IsDeleted == false &&
                                              p.tbClass.IsDeleted == false &&
                                              p.tbStudent.IsDeleted == false
                                              select p;

                vm.StudyClassStudentList = (from p in tbClassStudent
                                            select new Dto.StudyClassStudent.List
                {
                    Id = p.Id,
                    StudentId = p.tbStudent.Id,
                    StudyId = vm.StudyId,
                    ClassId = p.tbClass.Id,
                    ClassName = p.tbClass.ClassName,
                    StudentCode = p.tbStudent.StudentCode,
                    SexName = p.tbStudent.tbSysUser.tbSex.SexName,
                    StudentName = p.tbStudent.StudentName,
                    IsApplyStudy = tbStudyClassStudentList.Where(d => d.tbClass.Id == p.tbClass.Id && d.tbStudent.Id == p.tbStudent.Id).Count() > 0 ? true : false
                }).ToList();
                return(View(vm));
            }
        }
Example #2
0
 public ActionResult List(Models.StudyClassStudent.List vm)
 {
     return(Code.MvcHelper.Post(null, Url.Action("List", new { studyId = vm.StudyId, classId = vm.ClassId, searchText = vm.SearchText })));
 }
Example #3
0
        public ActionResult Export()
        {
            var vm = new Models.StudyClassStudent.List();

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

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

                if (vm.ClassId != 0)
                {
                    tb = tb.Where(d => d.tbClass.Id == vm.ClassId);
                }

                if (string.IsNullOrEmpty(vm.SearchText) == false)
                {
                    tb = tb.Where(d => d.tbStudent.StudentCode.Contains(vm.SearchText) || d.tbStudent.StudentName.Contains(vm.SearchText));
                }

                vm.StudyClassStudentList = (from p in tb
                                            orderby p.tbClass.No, p.tbStudent.StudentCode
                                            select new Dto.StudyClassStudent.List
                {
                    Id = p.Id,
                    StudentId = p.tbStudent.Id,
                    StudyId = p.tbStudy.Id,
                    StudyName = p.tbStudy.StudyName,
                    ClassId = p.tbClass.Id,
                    ClassName = p.tbClass.ClassName,
                    StudentCode = p.tbStudent.StudentCode,
                    SexName = p.tbStudent.tbSysUser.tbSex.SexName,
                    StudentName = p.tbStudent.StudentName
                }).ToList();

                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("性别")
                });
                var index = 0;
                foreach (var a in vm.StudyClassStudentList)
                {
                    index++;
                    var dr = dt.NewRow();
                    dr["序号"]    = index.ToString();
                    dr["晚自习名称"] = a.StudyName;
                    dr["行政班"]   = a.ClassName;
                    dr["学号"]    = a.StudentCode;
                    dr["姓名"]    = a.StudentName;
                    dr["性别"]    = a.SexName;
                    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());
                }
            }
        }