public ActionResult Project_CoursesList(int?id) { var courses = from s in db.Courses where s.ProjectId == id where s.ActiveFlag == "Y" select s; List <Course> courseList = courses.ToList(); List <CompositeCourse> ccourseList = new List <CompositeCourse>(); foreach (var course in courseList) { CompositeCourse ccourse = new CompositeCourse(); ccourse.Course = course; Project project = db.Projects.FirstOrDefault(p => p.id == course.ProjectId); ccourse.Project = project; Manager teacher = db.Managers.FirstOrDefault(m => m.id == course.TeacherId); ccourse.Teacher = teacher; ccourseList.Add(ccourse); } return(View(ccourseList)); }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Course course = db.Courses.Find(id); if (course == null) { return(HttpNotFound()); } CompositeCourse ccourse = new CompositeCourse(); ccourse.Course = course; Project project = db.Projects.FirstOrDefault(p => p.id == course.ProjectId); ccourse.Project = project; Manager teacher = db.Managers.FirstOrDefault(m => m.id == course.TeacherId); ccourse.Teacher = teacher; return(View(ccourse)); }
// GET: CoursesList public ActionResult CoursesList(string coursename, string TeacherId, string ProjectId, string startDate, string endDate, int?page) { //使用linq查询所有的课程信息。 //var courses = from s in db.Courses // //where // orderby s.ProjectId,s.CourseNum // select s; //foreach (var cou in courses) //{ // var project = from c in db.Projects // where c.id == cou.ProjectId // select c; // cou.Project = project.FirstOrDefault(); // var teacher = from t in db.Managers // where t.id == cou.TeacherId // select t; // cou.Teacher = teacher.FirstOrDefault(); //} //初始化任课老师列表 List <SelectListItem> teacherList = new List <SelectListItem>(); //teacherList.Add(new SelectListItem() { Text = "所有老师", Value = "NULL" }); foreach (var item in db.Managers.Where(p => p.ManagerType == "T")) { SelectListItem listItem = new SelectListItem(); listItem.Text = item.ManagerName; listItem.Value = item.id.ToString(); teacherList.Add(listItem); } ViewData["TeacherList"] = teacherList; //初始化项目名称列表 List <SelectListItem> projectList = new List <SelectListItem>(); //根据用户身份做判断 List <Project> pList = new List <Project>(); if (UserLogin.userroles.Contains("M")) { int userid = Convert.ToInt32(UserLogin.userid); var user = db.Users.Where(x => x.id == userid).FirstOrDefault(); var pros = from Projects in db.Projects where Projects.ManagerId == user.PersonId select Projects; pList = pros.ToList(); } else { pList = db.Projects.ToList(); } foreach (var item in pList) { SelectListItem listItem = new SelectListItem(); listItem.Text = item.ProjectName; listItem.Value = item.id.ToString(); projectList.Add(listItem); } ViewData["ProjectList"] = projectList; //List<Course> courseList = db.Courses.OrderByDescending(c => c.ProjectId).ThenBy(c => c.CourseNum).ToList(); //根据用户身份做判断 List <Course> courseList = new List <Course>(); if (UserLogin.userroles.Contains("M")) { int userid = Convert.ToInt32(UserLogin.userid); var user = db.Users.Where(x => x.id == userid).FirstOrDefault(); var courses = from Courses in db.Courses join Projects in db.Projects on Courses.ProjectId equals Projects.id where Projects.ManagerId == user.PersonId select Courses; courseList = courses.OrderBy(c => c.CourseNum).ToList(); } else { courseList = db.Courses.OrderByDescending(c => c.ProjectId).ThenBy(c => c.CourseNum).ToList(); } List <CompositeCourse> ccourseList = new List <CompositeCourse>(); foreach (var course in courseList) { CompositeCourse ccourse = new CompositeCourse(); ccourse.Course = course; Project project = db.Projects.FirstOrDefault(p => p.id == course.ProjectId); ccourse.Project = project; Manager teacher = db.Managers.FirstOrDefault(m => m.id == course.TeacherId); ccourse.Teacher = teacher; ccourseList.Add(ccourse); } //第几页 int pageNumbers = page ?? 1; //每页显示多少条 int pageSizes = int.Parse(ConfigurationManager.AppSettings["pageSize"]); //筛选条件 if (!String.IsNullOrEmpty(coursename)) { ccourseList = ccourseList.Where(x => x.Course.CourseName.Contains(coursename)).ToList(); } if (!String.IsNullOrEmpty(TeacherId) && TeacherId != "所有老师") { ccourseList = ccourseList.Where(x => x.Course.TeacherId.Equals(Convert.ToInt32(TeacherId))).ToList(); } if (!String.IsNullOrEmpty(ProjectId) && ProjectId != "所有项目") { ccourseList = ccourseList.Where(x => x.Course.ProjectId.Equals(Convert.ToInt32(ProjectId))).ToList(); } if (!String.IsNullOrEmpty(startDate)) { ccourseList = ccourseList.Where(p => p.Course.StartDate >= Convert.ToDateTime(startDate)).ToList(); } if (!String.IsNullOrEmpty(endDate)) { ccourseList = ccourseList.Where(p => p.Course.EndDate <= Convert.ToDateTime(endDate).AddDays(1)).ToList(); } //if (!String.IsNullOrEmpty(site)) //{ // ccourseList = ccourseList.Where(x => !string.IsNullOrEmpty(x.Course.Site)&& x.Course.Site.Contains(site)).ToList(); //} //通过ToPagedList扩展方法进行分页 IPagedList <CompositeCourse> pagedList = ccourseList.ToPagedList(pageNumbers, pageSizes); //将分页处理后的列表传给View this.ViewData["coursename"] = coursename; this.ViewData["TeacherId"] = TeacherId; this.ViewData["ProjectId"] = ProjectId; this.ViewData["StartDate"] = startDate; this.ViewData["EndDate"] = endDate; //this.ViewData["site"] = site; return(View(pagedList)); //return View(ccourseList); }