Ejemplo n.º 1
0
 public ActionResult List(Models.PerformComment.List vm)
 {
     return(Code.MvcHelper.Post(null, Url.Action("List", new { searchText = vm.SearchText, YearId = vm.YearId, ClassId = vm.ClassId, StudentId = vm.StudentId })));
 }
Ejemplo n.º 2
0
        public ActionResult List()
        {
            using (var db = new XkSystem.Models.DbContext())
            {
                var vm = new Models.PerformComment.List();

                vm.YearList = Basis.Controllers.YearController.SelectList(Code.EnumHelper.YearType.Year);

                if (vm.YearId == 0 && vm.YearList.Count > 0)
                {
                    vm.YearId = vm.YearList.OrderByDescending(d => d.Selected).FirstOrDefault().Value.ConvertToInt();
                }

                var teacherList = (from p in db.Table <Basis.Entity.tbClassTeacher>()
                                   where p.tbTeacher.tbSysUser.Id == Code.Common.UserId &&
                                   p.tbClass.IsDeleted == false &&
                                   p.tbTeacher.IsDeleted == false
                                   select p.tbTeacher.Id).ToList();

                var teacherId = 0;

                if (teacherList.Count() > 0)
                {
                    teacherId = teacherList.FirstOrDefault();
                }

                vm.ClassList = Basis.Controllers.ClassController.SelectClassByTeacherList(vm.YearId, teacherId);

                if (vm.ClassList.Count > 0 && vm.ClassId > 0)
                {
                    if (vm.ClassList.Where(d => d.Value.ConvertToInt() == vm.ClassId).Count() == decimal.Zero)
                    {
                        vm.ClassId = vm.ClassList.FirstOrDefault().Value.ConvertToInt();
                    }
                }

                if (vm.ClassId == 0 && vm.ClassList.Count > 0)
                {
                    vm.ClassId = vm.ClassList.FirstOrDefault().Value.ConvertToInt();
                }

                if (vm.ClassList.Count() == decimal.Zero)
                {
                    vm.ClassId = 0;
                }

                vm.OrgSelectInfo = SelectOrgSelectInfo(db, vm.ClassList, vm.YearId);

                vm.ClassStudentList = (from p in db.Table <Basis.Entity.tbClassStudent>()
                                       where p.tbStudent.IsDeleted == false &&
                                       p.tbClass.Id == vm.ClassId &&
                                       p.tbClass.IsDeleted == false
                                       orderby p.No
                                       select new Areas.Basis.Dto.ClassStudent.List
                {
                    Id = p.Id,
                    ClassId = p.tbClass.Id,
                    ClassName = p.tbClass.ClassName,
                    No = p.No,
                    SexName = p.tbStudent.tbSysUser.tbSex.SexName,
                    StudentCode = p.tbStudent.StudentCode,
                    StudentName = p.tbStudent.StudentName,
                    StudentId = p.tbStudent.Id
                }
                                       ).ToList();

                if (string.IsNullOrEmpty(vm.SearchText) == false)
                {
                    vm.ClassStudentList = (from p in vm.ClassStudentList
                                           where (p.StudentCode.Contains(vm.SearchText) || p.StudentName.Contains(vm.SearchText))
                                           select p).ToList();
                }

                if (vm.StudentId == 0 && vm.ClassStudentList.Count > 0)
                {
                    vm.StudentId = vm.ClassStudentList.FirstOrDefault().StudentId;
                }

                if (vm.ClassStudentList.Count == 0)
                {
                    vm.StudentId = 0;
                }

                var tbFirst = from p in db.Table <Perform.Entity.tbPerformComment>()
                              .Include(d => d.tbStudent)
                              where p.tbYear.Id == vm.YearId &&
                              p.tbStudent.IsDeleted == false
                              select p;

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

                vm.PerformCommentFirstList = (from p in tbFirst
                                              orderby p.tbYear.No
                                              select new Dto.PerformComment.List
                {
                    Id = p.Id,
                    StudentId = p.tbStudent.Id,
                    Comment = p.Comment,
                    InputDate = p.InputDate,
                    StudentName = p.tbStudent.StudentName,
                    SysUserName = p.tbSysUser.UserName,
                    YearName = p.tbYear.YearName,
                    YearId = p.tbYear.Id
                }).ToList();

                var tb = from p in db.Table <Perform.Entity.tbPerformComment>()
                         where p.tbYear.Id != vm.YearId &&
                         p.tbStudent.Id == vm.StudentId &&
                         p.tbStudent.IsDeleted == false
                         select p;

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

                vm.PerformCommentList = (from p in tb
                                         orderby p.tbYear.No
                                         select new Dto.PerformComment.List
                {
                    Id = p.Id,
                    Comment = p.Comment,
                    InputDate = p.InputDate,
                    StudentName = p.tbStudent.StudentName,
                    SysUserName = p.tbSysUser.UserName,
                    YearName = p.tbYear.YearName,
                    YearId = p.tbYear.Id
                }).ToList();
                return(View(vm));
            }
        }