public ParticipantsHoursEntryGrid GetParticipantsHoursEntryGrid(int ClassID) { HoursRepository hours = new HoursRepository(); ParticipantsHoursEntryGrid gridModel = new ParticipantsHoursEntryGrid(); gridModel.NumberOfVisibleDates = GetMaxVisble(); gridModel.ClassDates = hours.GetOnlyPastandPresentClassDatesByClassID(ClassID).OrderBy(d => d.Date).ToArray(); gridModel.StudentRows = GetRowsForRole(gridModel.ClassDates, ClassID, "S", 1); gridModel.TutorRows = GetRowsForRole(gridModel.ClassDates, ClassID, "T", gridModel.StudentRows.Count() + 1); return(gridModel); }
public ActionResult Update(int id = -1) { //RedirectOnNoDB(); if (!IsDBavailable()) { return(NoDatabaseAvailable()); } if (id == -1) { return(SelectClass()); } ParticipantsHoursEntryGrid model = GetParticipantsHoursEntryGrid(id); List <string> choiceList = new List <string>() { "0", ".5", "1", "1.5", "2", "2.5", "3", "3.5", "4", "4.5", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20" }; List <string> RadioVals = new List <string>() { "0", "1", "1.5", "2", "2.5" }; HoursRepository hours = new HoursRepository(ConnStringName); List <DateTime> WithHours = hours.ClassDatesWithHours(id); List <DateTime> ClassDates = hours.GetOnlyPastandPresentClassDatesByClassID(id).OrderBy(d => d.Date).ToList(); List <DateTime> DatesClassDidNotMeet = hours.ClassDatesWithNoClass(id); List <DateTime> DatesWithNoHours = new List <DateTime>(); foreach (DateTime dt in ClassDates) { if (!WithHours.Contains(dt)) { DatesWithNoHours.Add(dt); } } ViewData["Choices"] = choiceList; ViewData["DateColumns"] = model.ClassDates; ViewData["RadioButtonValues"] = RadioVals; ViewData["DatesClassDidNotMeet"] = DatesClassDidNotMeet; ViewData["DatesWithNoHours"] = DatesWithNoHours; return(PartialView("_HoursUpdatePartialView", model)); }