Beispiel #1
0
 public ActionResult Index()
 {
     return(View(_specialtyService.Query().Select(specialty => new SpecialtyViewModel
     {
         Id = specialty.SpecialtyId,
         CourseNumber = specialty.Course.CourseNumber,
         Name = specialty.Name
     }).ToList()));
 }
Beispiel #2
0
        public ActionResult Index(long?courseId, long?specialtyId, long?groupId, int?yearOfEntrance)
        {
            var courses = _courseService.Queryable().ToList();

            if (courseId == null)
            {
                var firstCourse = courses.FirstOrDefault();
                courseId = firstCourse == null ? -1 : firstCourse.CourseId;
            }

            var specialties = _specialtyService
                              .Query(specialty => specialty.CourseId == (long)courseId)
                              .Select()
                              .ToList();

            if (specialtyId == null)
            {
                var firstSpecialty = specialties.FirstOrDefault();
                specialtyId = firstSpecialty == null ? -1 : firstSpecialty.SpecialtyId;
            }
            var groups = _groupService.Query(group => group.SpecialtyId == (long)specialtyId &&
                                             group.Specialty.CourseId == (long)courseId)
                         .Select()
                         .ToList();

            if (groupId == null)
            {
                var firstGroup = groups.FirstOrDefault();
                groupId = firstGroup == null ? -1 : firstGroup.GroupId;
            }

            var yearOfEntrances = new List <int>();
            var temp            = _studentService
                                  .Query(student => student.GroupId == (long)groupId)
                                  .Select(student => student.YearOfEntrance).ToList();

            foreach (var value in temp.Where(value => !yearOfEntrances.Contains(value)))
            {
                yearOfEntrances.Add(value);
            }

            yearOfEntrances = yearOfEntrances.OrderBy(i => i).ToList();
            if (yearOfEntrance == null)
            {
                var firstYearOfEntrance = yearOfEntrances.FirstOrDefault();
                yearOfEntrance = firstYearOfEntrance;
            }

            var model = new StudentViewModel
            {
                Courses         = new SelectList(courses, "CourseId", "CourseNumber", courseId),
                Specialties     = new SelectList(specialties, "SpecialtyId", "Name", specialtyId),
                Groups          = new SelectList(groups, "GroupId", "GroupNumber", groupId),
                YearOfEntrances = new SelectList(yearOfEntrances),
                YearOfEntrance  = (int)yearOfEntrance,
                GroupId         = (long)groupId,
                Students        = _studentService.Query(student => student.GroupId == groupId && student.YearOfEntrance == yearOfEntrance)
                                  .Select(student => new StudentRowViewModel
                {
                    CourseNumber   = student.Group.Specialty.Course.CourseNumber,
                    GroupNumber    = student.Group.GroupNumber,
                    SpecialtyName  = student.Group.Specialty.Name,
                    FirstName      = student.FirstName,
                    YearOfEntrance = student.YearOfEntrance,
                    LastName       = student.LastName,
                    MiddleName     = student.MiddleName,
                    StudentId      = student.StudentId,
                    Login          = student.Login,
                    Password       = student.Password
                }).ToList()
            };

            var gv = new GridView {
                DataSource = model.Students
            };

            gv.DataBind();
            Session["Students"] = gv;

            return(View(model));
        }