public StudentsApi GetStudent(int id) { //On créé une nouvelle instance de StudentsApi avec lequel on va travailler StudentsApi StudentApi = new StudentsApi(); EnrollmentVM EnrApi = new EnrollmentVM(); //On récupère le student en fonction de l'id entré en paramètre Student aStudent = db.Students.Find(id); //On remplit le viewmodel avec les données du student StudentApi.id = aStudent.ID; StudentApi.lastname = aStudent.LastName; StudentApi.firstname = aStudent.FirstMidName; StudentApi.enrollmentdate = aStudent.EnrollmentDate; //On créé une variable pour récupérer le nombre d'enrollments du student var cpt = aStudent.Enrollments.Count(); //On créé un nouveau tableau pour stocker les informations qu'on va récupérer ensuite EnrollmentVM[] aEnrollments = new EnrollmentVM[cpt]; for (int i = 0; i < cpt; i++) { //On récupère les données dont on a besoin et on les rajoute au tableau précédemment créé aEnrollments[i] = new EnrollmentVM { courseId = aStudent.Enrollments.ElementAt(i).CourseID }; } StudentApi.enrollments = aEnrollments; //On retourne l'objet pour l'affichage return(StudentApi); }
public IEnumerable <StudentsApi> getStudents(int username) { //JSONObject List <StudentsApi> students = new List <StudentsApi>(); StudentsApi student = new StudentsApi(); DateTime today = DateTime.Now; int currentDayOfWeek = (int)today.DayOfWeek; DateTime sunday = today.AddDays(-currentDayOfWeek); DateTime monday = sunday.AddDays(1); //DateTime mon = monday.Date.ToString("dd/MM/YYYY"); if (currentDayOfWeek == 0) { monday = monday.AddDays(-7); } var dates = Enumerable.Range(0, 7).Select(days => monday.AddDays(days)).ToList(); DateTime start = dates[0].Date; DateTime end = dates[6].Date; var student_name = db.Students.Where(s => s.StudentId == username).Select(a => new { a.StudentName, a.secid }).Single(); var data = (from a in db.vschedules join s in db.Students on a.secid equals s.secid where ((a.startdate >= start && a.startdate <= end) || (a.enddate >= start && a.enddate <= end) || (a.startdate <= start && a.enddate >= end)) && a.flag == true && a.secid == student_name.secid && s.StudentId == username orderby a.secid, a.slottypeid, a.occupied select new { a, s }).ToList(); DateTime date = new DateTime(); foreach (var item in data) { foreach (var d in dates) { if ((int)d.DayOfWeek == item.a.dayid) { date = d.Date; } } students.Add(new StudentsApi { StudentName = item.s.StudentName, sectionname = item.a.sectionname, course = item.a.title, teacher = item.a.teachername, roomno = item.a.roomno, campus = item.a.campus, //dayname = DateTime.Now.StartOfWeek(item.a.dayid).ToString("MM/dd/yyyy"), dayname = date.ToString("dddd-dd/MMMM"), duration = item.a.duration, dateOrder = date }); } return(students.ToArray().OrderBy(a => a.dateOrder)); }