示例#1
0
        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));
        }
示例#2
0
        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));
        }
示例#3
0
        // 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);
        }