public async Task<IHttpActionResult> PutTimeTableEntry(int id, TimeTableEntry timeTableEntry) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != timeTableEntry.Id) { return BadRequest(); } db.Entry(timeTableEntry).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TimeTableEntryExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
public async Task <IHttpActionResult> PutTimeTableEntry(int id, TimeTableEntry timeTableEntry) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != timeTableEntry.Id) { return(BadRequest()); } db.Entry(timeTableEntry).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TimeTableEntryExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public ActionResult DeleteConfirmed(int id) { TimeTableEntry timetableentry = db.TimeTableEntries.GetById(id); db.TimeTableEntries.Remove(timetableentry); db.Commit(); return(RedirectToAction("Index")); }
public ActionResult DeleteConfirmed(int id) { TimeTableEntry timetableentry = db.TimeTableEntries.Find(id); db.TimeTableEntries.Remove(timetableentry); db.SaveChanges(); return(RedirectToAction("Index")); }
TableRow generateStudentRow(Student student, List <SchoolDay> days) { TableRow newRow = new TableRow(); TableCell cell_ID = new TableCell(); cell_ID.CssClass = "datatable_row"; cell_ID.Text = student.getStudentID(); newRow.Cells.Add(cell_ID); TableCell cell_FirstName = new TableCell(); cell_FirstName.CssClass = "datatable_row"; cell_FirstName.Text = student.getFirstName(); newRow.Cells.Add(cell_FirstName); TableCell cell_LastName = new TableCell(); cell_LastName.CssClass = "datatable_row"; cell_LastName.Text = student.getLastName(); newRow.Cells.Add(cell_LastName); foreach (SchoolDay day in days) { StringBuilder timeTableInfo = new StringBuilder(); List <TimeTableEntry> thisDayClasses = new List <TimeTableEntry>(); foreach (TimeTableEntry tte in student.TimeTable) { if (tte.dayNum == day.dayNumber) { thisDayClasses.Add(tte); } } thisDayClasses.Sort(); if (thisDayClasses.Count > 0) { TimeTableEntry firstClassOfTheDay = TimeTableEntry.getEarliest(thisDayClasses); //timeTableInfo.Append(firstClassOfTheDay.schoolClass.name + " (Teacher: " + firstClassOfTheDay.schoolClass.teacherName + ", Room: " + firstClassOfTheDay.roomName + ", Period: " + firstClassOfTheDay.blockNum + ")"); timeTableInfo.Append(firstClassOfTheDay.ToStringFormatted()); } else { timeTableInfo.Append("No classes today"); } TableCell cell_Day = new TableCell(); cell_Day.VerticalAlign = VerticalAlign.Top; cell_Day.CssClass = "datatable_row"; cell_Day.Text = timeTableInfo.ToString(); newRow.Cells.Add(cell_Day); } return(newRow); }
// // GET: /TimeTableEntry/Details/5 public ActionResult Details(int id = 0) { TimeTableEntry timetableentry = db.TimeTableEntries.Find(id); if (timetableentry == null) { return(HttpNotFound()); } return(View(timetableentry)); }
public ActionResult Create(TimeTableEntry timetableentry) { if (ModelState.IsValid) { db.TimeTableEntries.Add(timetableentry); db.Commit(); return(RedirectToAction("Index")); } return(View(timetableentry)); }
public ActionResult Edit(TimeTableEntry timetableentry) { if (ModelState.IsValid) { db.Entry(timetableentry).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.TimeTableId = new SelectList(db.TimeTables, "Id", "Id", timetableentry.TimeTableId); return(View(timetableentry)); }
public async Task <IHttpActionResult> GetTimeTableEntry(int id) { TimeTableEntry timeTableEntry = await db.TimeTableEntries.FindAsync(id); if (timeTableEntry == null) { return(NotFound()); } return(Ok(timeTableEntry)); }
// // GET: /TimeTableEntry/Edit/5 public ActionResult Edit(int id = 0) { TimeTableEntry timetableentry = db.TimeTableEntries.Find(id); if (timetableentry == null) { return(HttpNotFound()); } ViewBag.TimeTableId = new SelectList(db.TimeTables, "Id", "Id", timetableentry.TimeTableId); return(View(timetableentry)); }
public async Task <IHttpActionResult> PostTimeTableEntry(TimeTableEntry timeTableEntry) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.TimeTableEntries.Add(timeTableEntry); await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = timeTableEntry.Id }, timeTableEntry)); }
public async Task<IHttpActionResult> PostTimeTableEntry(TimeTableEntry timeTableEntry) { if (!ModelState.IsValid) { return BadRequest(ModelState); } db.TimeTableEntries.Add(timeTableEntry); await db.SaveChangesAsync(); return CreatedAtRoute("DefaultApi", new { id = timeTableEntry.Id }, timeTableEntry); }
public async Task <IHttpActionResult> DeleteTimeTableEntry(int id) { TimeTableEntry timeTableEntry = await db.TimeTableEntries.FindAsync(id); if (timeTableEntry == null) { return(NotFound()); } db.TimeTableEntries.Remove(timeTableEntry); await db.SaveChangesAsync(); return(Ok(timeTableEntry)); }
protected void btnTerm_Click(object sender, EventArgs e) { List <Student> schoolStudents = new List <Student>(); Term selectedTerm = null; List <SchoolDay> schoolDays = new List <SchoolDay>(); using (SqlConnection connection = new SqlConnection(LSKYCommon.dbConnectionString_SchoolLogic)) { int selectedTermID = -1; if (int.TryParse(drpTerm.SelectedValue, out selectedTermID)) { selectedTerm = Term.loadThisTerm(connection, selectedTermID); if (selectedTerm != null) { Track selectedTrack = Track.loadThisTrack(connection, selectedTerm.trackID); // Load school days for this school / track schoolDays = SchoolDay.loadDaysFromThisTrack(connection, selectedTrack); // Load students from the track schoolStudents = Student.loadStudentsFromThisTrack(connection, selectedTrack.ID); // Load timetables for the students that were loaded foreach (Student student in schoolStudents) { student.TimeTable = TimeTableEntry.loadStudentTimeTable(connection, student, selectedTerm); } } } } tblCSVLink.Visible = true; lnkCSVLink.NavigateUrl = "getCSV.aspx?schoolid=" + selectedTerm.schoolID + "&trackid=" + selectedTerm.trackID + "&termid=" + selectedTerm.ID; tblStudents.Rows.Clear(); tblStudents.Visible = true; tblStudents.Rows.Add(generateStudentTableHeader(schoolDays)); foreach (Student student in schoolStudents) { tblStudents.Rows.Add(generateStudentRow(student, schoolDays)); } // Load the days from the specified track // Load all students // For each day, determine what their classes are }
public ActionResult Create(TimeTableEntry timetableentry, DateTime TimeTableDate) { int v = (from s in db.TimeTables where s.Date == TimeTableDate select s.Id).First(); timetableentry.TimeTableId = Convert.ToInt32(v); if (ModelState.IsValid) { db.TimeTableEntries.Add(timetableentry); db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.TimeTableId = new SelectList(db.TimeTables, "Id", "Id", timetableentry.TimeTableId); return(View(timetableentry)); }
public ActionResult Edit(TimeTableEntry timetableentry) { if (ModelState.IsValid) { //db.Entry(timetableentry).State = EntityState.Modified; db.TimeTableEntries.GetById(timetableentry.Id).EndTime = timetableentry.EndTime; db.TimeTableEntries.GetById(timetableentry.Id).Description = timetableentry.Description; db.TimeTableEntries.GetById(timetableentry.Id).Location = timetableentry.Location; db.TimeTableEntries.GetById(timetableentry.Id).StartTime = timetableentry.StartTime; db.TimeTableEntries.GetById(timetableentry.Id).TimeTable = timetableentry.TimeTable; db.TimeTableEntries.GetById(timetableentry.Id).TimeTableId = timetableentry.TimeTableId; db.TimeTableEntries.GetById(timetableentry.Id).Title = timetableentry.Title; db.Commit(); return(RedirectToAction("Index")); } //ViewBag.TimeTableId = new SelectList(db.TimeTables, "Id", "Id", timetableentry.TimeTableId); return(View(timetableentry)); }
public void AddTimeTableEntry(TimeTableEntry Entry) { TimeTable.AddEntry(Entry); }
protected void Page_Load(object sender, EventArgs e) { if (!String.IsNullOrEmpty(Request.QueryString["termid"])) { if (!String.IsNullOrEmpty(Request.QueryString["schoolid"])) { if (!String.IsNullOrEmpty(Request.QueryString["trackid"])) { int termID = -1; int trackID = -1; int schoolID = -1; if (int.TryParse(Request.QueryString["schoolid"], out schoolID)) { if (int.TryParse(Request.QueryString["termid"], out termID)) { if (int.TryParse(Request.QueryString["trackid"], out trackID)) { using (SqlConnection connection = new SqlConnection(LSKYCommon.dbConnectionString_SchoolLogic)) { // Load school School selectedSchool = School.loadThisSchool(connection, schoolID); if (selectedSchool != null) { // Load term Term selectedTerm = Term.loadThisTerm(connection, termID); // Load track if (selectedTerm != null) { Track selectedTrack = Track.loadThisTrack(connection, trackID); // Load students if (selectedTrack != null) { List <Student> selectedStudents = Student.loadStudentsFromThisTrack(connection, selectedTrack.ID); // Load timetable data List <SchoolDay> schoolDays = SchoolDay.loadDaysFromThisTrack(connection, selectedTrack); foreach (Student student in selectedStudents) { student.TimeTable = TimeTableEntry.loadStudentTimeTable(connection, student, selectedTerm); } string filename = "FirstClassOfDay_" + LSKYCommon.removeSpaces(selectedSchool.getName()) + "_" + LSKYCommon.removeSpaces(selectedTerm.name); sendCSV(GenerateCSV(selectedStudents, schoolDays), filename); } else { DisplayError("Track not found"); } } else { DisplayError("Term not found"); } } else { DisplayError("School not found"); } } } else { DisplayError("Invalid track"); } } else { DisplayError("Invalid term"); } } else { DisplayError("Invalid school"); } } else { DisplayError("Track must be specified"); } } else { DisplayError("School must be specified"); } } else { DisplayError("Term must be specified"); } }
protected MemoryStream GenerateCSV(List <Student> students, List <SchoolDay> days) { MemoryStream csvFile = new MemoryStream(); StreamWriter writer = new StreamWriter(csvFile, Encoding.UTF8); // CSV Headings StringBuilder headingLine = new StringBuilder(); headingLine.Append("StudentNumber, FirstName, LastName, DateOfBirth, Telephone, Apartment, House, Street, City, Province, PostalCode, "); for (int x = 0; x < days.Count; x++) { headingLine.Append(days[x].name + "Teacher,"); headingLine.Append(days[x].name + "Room,"); headingLine.Append(days[x].name + "Class,"); headingLine.Append(days[x].name + "Period"); if ((x + 1) < days.Count) { headingLine.Append(","); } } writer.WriteLine(headingLine.ToString()); // CSV Data foreach (Student student in students) { StringBuilder studentLine = new StringBuilder(); studentLine.Append(student.getStudentID()); studentLine.Append(","); studentLine.Append(student.getFirstName()); studentLine.Append(","); studentLine.Append(student.getLastName()); studentLine.Append(","); studentLine.Append(student.getDateOfBirth().ToShortDateString()); studentLine.Append(","); studentLine.Append("\"" + student.getTelephone() + "\""); studentLine.Append(","); studentLine.Append("\"" + student.getApartmentNo() + "\""); studentLine.Append(","); studentLine.Append("\"" + student.getHouseNo() + "\""); studentLine.Append(","); studentLine.Append("\"" + student.getStreet() + "\""); studentLine.Append(","); studentLine.Append("\"" + student.getCity() + "\""); studentLine.Append(","); studentLine.Append("\"" + student.getRegion() + "\""); studentLine.Append(","); studentLine.Append("\"" + student.getPostalCode() + "\""); studentLine.Append(","); for (int x = 0; x < days.Count; x++) { List <TimeTableEntry> thisDayClasses = new List <TimeTableEntry>(); foreach (TimeTableEntry tte in student.TimeTable) { if (tte.dayNum == days[x].dayNumber) { thisDayClasses.Add(tte); } } if (thisDayClasses.Count > 0) { TimeTableEntry firstClassOfTheDay = TimeTableEntry.getEarliest(thisDayClasses); studentLine.Append("\"" + firstClassOfTheDay.schoolClass.teacherName + "\","); studentLine.Append("\"" + firstClassOfTheDay.roomName + "\","); studentLine.Append("\"" + firstClassOfTheDay.schoolClass.name + "\","); studentLine.Append("" + firstClassOfTheDay.blockNum + ""); } else { studentLine.Append("\"\","); studentLine.Append("\"\","); studentLine.Append("\"\""); studentLine.Append("\"\""); } if ((x + 1) < days.Count) { studentLine.Append(","); } } writer.WriteLine(studentLine.ToString()); } writer.Flush(); csvFile.Flush(); return(csvFile); }
/* TConnection */ public override double GetTravelTime(string date, double arrivalTime, TravelMode Mode) { double time = 0; double trafficDelay = 0; if (!CanBeTraversedUsingMode(Mode)) { return(double.PositiveInfinity); } if (Mode.HasFlag(Routing.TravelMode.Bus)) { List <TimeTableEntry> Trips = TimeTable.GetFeasibleTrips(arrivalTime); if (Trips.Count == 0) { return(double.PositiveInfinity); } TimeTableEntry Trip = Trips.First(); /* The "false" condition is added only for TEST A, in order to ignore the feed validity !!!REMEMBER TO REMOVE FOR TEST C!!! */ if (/*(false) &&*/ (!Trip.IsValidDate(date))) { return(double.PositiveInfinity); } else { time = (Trip.DestinationArrivalTime - Trip.SourceDepartureTime); /* For Bus, the time is traffic dependent */ if ((TrafficReport != null) && (TimeTable.Entries.First().RouteType == RouteType.Bus)) { double minDistanceFromTraffic; minDistanceFromTraffic = Math.Min(this.TrafficDistanceFromSource, this.TrafficDistanceFromDestination); trafficDelay = addTrafficDelay(time, minDistanceFromTraffic, TrafficReport); } /* Waiting time */ WaitingTime = (Trip.SourceDepartureTime - arrivalTime); time += WaitingTime + trafficDelay; DepartureTime = Trip.SourceDepartureTime; ArrivalTime = Trip.SourceArrivalTime; DestArrivalTime = Trip.DestinationArrivalTime; DestDepartureTime = Trip.DestinationDepartureTime; if (time < 0 || WaitingTime < 0) { throw new Exception("negative time value"); } } } else { time = double.PositiveInfinity; } return(time); }