/// <summary> /// Timetable json returned for timetables and invitational events /// </summary> /// <param name="user"></param> /// <returns></returns> public JsonResult ReturnTimetableJsonResult(int user) { //events list returned for user and timetable object list created var eventsList = _wsClient.StudentsEvents(user); var returnList = new List<TimetableDisplayModel>(); //As long as events exist function generates new list of timetableDisplayModel objects if (eventsList != null) { //For each event a new timetabledisplaymodel object generated foreach (var e in eventsList) { var startTime = ""; var endTime = ""; switch (e.Time) { //Times for the timetable display model generated for jsoon fullCalander Format case (10): startTime = e.StartDate.AddHours(9).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(9).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (11): startTime = e.StartDate.AddHours(10).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(10).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (12): startTime = e.StartDate.AddHours(11).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(11).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (13): startTime = e.StartDate.AddHours(12).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(12).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (14): startTime = e.StartDate.AddHours(13).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(13).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (15): startTime = e.StartDate.AddHours(14).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(14).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (16): startTime = e.StartDate.AddHours(15).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(15).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (17): startTime = e.StartDate.AddHours(16).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(16).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; } //Timtable display model object created for event var item = new TimetableDisplayModel { AllDay = false, Id = e.EventId.ToString("D"), Start = startTime, End = endTime, Title = e.EventTitle }; returnList.Add(item); } //events for FullCalanader returned return Json(returnList, JsonRequestBehavior.AllowGet); } //no events exist return null; }
/// <summary> /// Timetable display generated from Staff events both timetabled and Invitational /// </summary> /// <param name="user"></param> /// <returns></returns> public JsonResult ReturnTimetableJsonResult(int user) { var eventsList = _wsClient.StaffEvents(user); var returnList = new List<TimetableDisplayModel>(); if (eventsList != null) { foreach (var e in eventsList) { var startTime = ""; var endTime = ""; switch (e.Time) { //takes date of event that is passed in as well as the duration and //generates the start and end times for the fullCalanader.js generatino case (10): startTime = e.StartDate.AddHours(9).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(9).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (11): startTime = e.StartDate.AddHours(10).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(10).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (12): startTime = e.StartDate.AddHours(11).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(11).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (13): startTime = e.StartDate.AddHours(12).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(12).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (14): startTime = e.StartDate.AddHours(13).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(13).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (15): startTime = e.StartDate.AddHours(14).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(14).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (16): startTime = e.StartDate.AddHours(15).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(15).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; case (17): startTime = e.StartDate.AddHours(16).ToString("yyyy-MM-dd HH:mm:ss"); endTime = e.StartDate.AddHours(16).AddMinutes(e.Duration).ToString("yyyy-MM-dd HH:mm:ss"); break; } //Model used to pass information into the fullCalander json object var item = new TimetableDisplayModel { AllDay = false, Id = e.EventId.ToString("D"), Start = startTime, End = endTime, Title = e.EventTitle }; //timetable display object adde to list returnList.Add(item); } //timtable display objects returned return Json(returnList, JsonRequestBehavior.AllowGet); } return null; }