protected override void GenerateOutput() { if (this.HasState()) { Core.Helpers.Elements.RecordLists.Collection recordCollection = new Core.Helpers.Elements.RecordLists.Collection(); Core.Helpers.Database.ParameterBuilder paramBuilder = new Core.Helpers.Database.ParameterBuilder(); string sqlPath = ""; int recordCount = 0; int subjectId; switch (this._state) { case TimetableSelectionStates.UniqueYeargroup: this.SetSearchTerm(); sqlPath = "/Sql/Specific/Staff/Modify/Teaching/Timetable/Selection/yeargroups.sql"; break; case TimetableSelectionStates.UniqueRoom: this.SetSearchTerm(); sqlPath = "/Sql/Specific/Staff/Modify/Teaching/Timetable/Selection/rooms.sql"; break; case TimetableSelectionStates.ClassSubject: this.SetSearchTerm(); sqlPath = "/Sql/Specific/Staff/Modify/Teaching/Timetable/Selection/subjects.sql"; break; case TimetableSelectionStates.ClassQualification: this.GetId(out subjectId); paramBuilder.AddParameter(SqlDbType.Int, "@SubjectId", subjectId); this.SetSearchTerm(); sqlPath = "/Sql/Specific/Staff/Modify/Teaching/Timetable/Selection/qualifications.sql"; break; case TimetableSelectionStates.ClassClass: this.GetId(out subjectId); this.SetSearchTerm(); paramBuilder.AddParameter(SqlDbType.Int, "@SubjectQualificationId", subjectId); sqlPath = "/Sql/Specific/Staff/Modify/Teaching/Timetable/Selection/classes.sql"; break; case TimetableSelectionStates.ClassRoom: this.SetSearchTerm(); sqlPath = "/Sql/Specific/Staff/Modify/Teaching/Timetable/Selection/rooms.sql"; break; } paramBuilder.AddParameter(SqlDbType.VarChar, "@SearchTerm", this._searchTerm); switch (this._state) { case TimetableSelectionStates.UniqueRoom: case TimetableSelectionStates.ClassRoom: Core.Helpers.Elements.RecordLists.Record noRoomRecord = new Core.Helpers.Elements.RecordLists.Record(); noRoomRecord.Colour = Core.Helpers.Elements.RecordLists.Colours.Yellow; noRoomRecord.LeftSide.Image.Source = "nodoor.png"; noRoomRecord.LeftSide.Image.ToolTip = "Teaching does not take place in a room"; noRoomRecord.LeftSide.MainText = "<em>Teaching does not take place in a room</em>"; if (this._state.Equals(TimetableSelectionStates.UniqueRoom)) { noRoomRecord.OnClick = "setUniqueRoom();"; } else { noRoomRecord.OnClick = "setClassRoom();"; } recordCollection.Add(noRoomRecord); break; } using (SqlDataReader dataReader = Core.Helpers.Database.Provider.ExecuteReader(sqlPath, paramBuilder.Parameters)) { if (dataReader.HasRows) { while (dataReader.Read()) { switch (this._state) { case TimetableSelectionStates.UniqueYeargroup: Core.Helpers.Elements.RecordLists.Record yeargroupRecord = new Core.Helpers.Elements.RecordLists.Record(); yeargroupRecord.LeftSide.Image.Source = "yeargroup.png"; yeargroupRecord.LeftSide.Image.ToolTip = "Yeargroup"; yeargroupRecord.LeftSide.MainText = dataReader["Name"] as string; yeargroupRecord.OnClick = "setUniqueYeargroup('" + dataReader["Name"] as string + "', " + (int)dataReader["Id"] + ");"; recordCount++; recordCollection.Add(yeargroupRecord); break; case TimetableSelectionStates.UniqueRoom: case TimetableSelectionStates.ClassRoom: Core.Helpers.Elements.RecordLists.Record roomRecord = new Core.Helpers.Elements.RecordLists.Record(); roomRecord.LeftSide.Image.Source = "door.png"; roomRecord.LeftSide.Image.ToolTip = "Room"; roomRecord.LeftSide.MainText = dataReader["Name"] as string; if (this._state.Equals(TimetableSelectionStates.UniqueRoom)) { roomRecord.OnClick = "setUniqueRoom('" + dataReader["Name"] as string + "', " + (int)dataReader["Id"] + ");"; } else { roomRecord.OnClick = "setClassRoom('" + dataReader["Name"] as string + "', " + (int)dataReader["Id"] + ");"; } recordCount++; recordCollection.Add(roomRecord); break; case TimetableSelectionStates.ClassSubject: Core.Helpers.Elements.RecordLists.Record subjectRecord = new Core.Helpers.Elements.RecordLists.Record(); subjectRecord.LeftSide.Image.Source = "subject.png"; subjectRecord.LeftSide.Image.ToolTip = "Subject"; subjectRecord.LeftSide.MainText = dataReader["Name"] as string; string subjectName; if (string.IsNullOrEmpty(dataReader["Abbreviation"] as string)) { subjectName = dataReader["Name"] as string; } else { subjectName = dataReader["Abbreviation"] as string; } subjectRecord.OnClick = "setClassSubject('" + subjectName + "', " + (int)dataReader["Id"] + ");"; recordCount++; recordCollection.Add(subjectRecord); break; case TimetableSelectionStates.ClassQualification: Core.Helpers.Elements.RecordLists.Record qualificationRecord = new Core.Helpers.Elements.RecordLists.Record(); qualificationRecord.LeftSide.Image.Source = "lightbulb.png"; qualificationRecord.LeftSide.Image.ToolTip = "Qualification"; qualificationRecord.LeftSide.MainText = dataReader["Name"] as string; qualificationRecord.OnClick = "setClassQualification('" + dataReader["Name"] as string + "', " + (int)dataReader["Id"] + ");"; recordCount++; recordCollection.Add(qualificationRecord); break; case TimetableSelectionStates.ClassClass: Core.Helpers.Elements.RecordLists.Record classRecord = new Core.Helpers.Elements.RecordLists.Record(); classRecord.LeftSide.Image.Source = "class.png"; classRecord.LeftSide.Image.ToolTip = "Class"; classRecord.LeftSide.MainText = dataReader["Name"] as string; classRecord.OnClick = "setClassClass('" + dataReader["Name"] as string + "', " + (int)dataReader["Id"] + ");"; recordCount++; recordCollection.Add(classRecord); break; } } this.Page.Contents = recordCollection.ToString(); } else { switch (this._state) { case TimetableSelectionStates.UniqueYeargroup: Core.Helpers.Elements.Alerts.Alert noYeargroupsAlert = new Core.Helpers.Elements.Alerts.Alert("NoYeargroups"); noYeargroupsAlert.Colour = Core.Helpers.Elements.Alerts.Colours.Yellow; noYeargroupsAlert.Message = new Core.Helpers.Constructor("/Alerts/Specific/Staff/Modify/Teaching/Period/Selection/noyeargroups.html").ToString(); this.Page.Contents = noYeargroupsAlert.ToString(); break; case TimetableSelectionStates.UniqueRoom: case TimetableSelectionStates.ClassRoom: this.Page.Contents = recordCollection.ToString(); break; case TimetableSelectionStates.ClassSubject: Core.Helpers.Elements.Alerts.Alert noSubjectsAlert = new Core.Helpers.Elements.Alerts.Alert("NoSubjects"); noSubjectsAlert.Colour = Core.Helpers.Elements.Alerts.Colours.Yellow; noSubjectsAlert.Message = new Core.Helpers.Constructor("/Alerts/Specific/Staff/Modify/Teaching/Period/Selection/nosubjects.html").ToString(); this.Page.Contents = noSubjectsAlert.ToString(); break; case TimetableSelectionStates.ClassQualification: Core.Helpers.Elements.Alerts.Alert noQualificationsAlert = new Core.Helpers.Elements.Alerts.Alert("NoQualifications"); noQualificationsAlert.Colour = Core.Helpers.Elements.Alerts.Colours.Yellow; noQualificationsAlert.Message = new Core.Helpers.Constructor("/Alerts/Specific/Staff/Modify/Teaching/Period/Selection/noqualifications.html").ToString(); this.Page.Contents = noQualificationsAlert.ToString(); break; case TimetableSelectionStates.ClassClass: Core.Helpers.Elements.Alerts.Alert noClassesAlert = new Core.Helpers.Elements.Alerts.Alert("NoClasses"); noClassesAlert.Colour = Core.Helpers.Elements.Alerts.Colours.Yellow; noClassesAlert.Message = new Core.Helpers.Constructor("/Alerts/Specific/Staff/Modify/Teaching/Period/Selection/noclasses.html").ToString(); this.Page.Contents = noClassesAlert.ToString(); break; } } } string statusMessage = ""; switch (this._state) { case TimetableSelectionStates.UniqueYeargroup: if (recordCount.Equals(0)) { statusMessage = "Found no yeargroups!"; } else if (recordCount.Equals(1)) { statusMessage = "Found <strong>1</strong> yeargroup"; } else { statusMessage = "Found <strong>" + recordCount + "</strong> yeargroups"; } break; case TimetableSelectionStates.UniqueRoom: case TimetableSelectionStates.ClassRoom: if (recordCount.Equals(0)) { statusMessage = "Found no rooms!"; } else if (recordCount.Equals(1)) { statusMessage = "Found <strong>1</strong> room"; } else { statusMessage = "Found <strong>" + recordCount + "</strong> rooms"; } break; case TimetableSelectionStates.ClassSubject: if (recordCount.Equals(0)) { statusMessage = "Found no subjects!"; } else if (recordCount.Equals(1)) { statusMessage = "Found <strong>1</strong> subject"; } else { statusMessage = "Found <strong>" + recordCount + "</strong> subjects"; } break; case TimetableSelectionStates.ClassQualification: if (recordCount.Equals(0)) { statusMessage = "Found no qualifications!"; } else if (recordCount.Equals(1)) { statusMessage = "Found <strong>1</strong> qualification"; } else { statusMessage = "Found <strong>" + recordCount + "</strong> qualifications"; } break; case TimetableSelectionStates.ClassClass: if (recordCount.Equals(0)) { statusMessage = "Found no classes!"; } else if (recordCount.Equals(1)) { statusMessage = "Found <strong>1</strong> class"; } else { statusMessage = "Found <strong>" + recordCount + "</strong> classes"; } break; } if (Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage.ContainsKey("StaffTeachingTimetableSelection")) { Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage["StaffTeachingTimetableSelection"] = statusMessage; } else { Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage.Add("StaffTeachingTimetableSelection", statusMessage); } } else { if (this._success) { Core.Helpers.Elements.Alerts.Alert success = new Core.Helpers.Elements.Alerts.Alert("Success"); success.Colour = Core.Helpers.Elements.Alerts.Colours.Green; success.Message = new Core.Helpers.Constructor("/Alerts/Specific/Staff/Modify/Teaching/Period/Selection/success.html").ToString(); this.Page.Contents = success.ToString(); } else { Core.Helpers.Elements.Alerts.Alert noSelection = new Core.Helpers.Elements.Alerts.Alert("NoSelection"); noSelection.Colour = Core.Helpers.Elements.Alerts.Colours.Yellow; noSelection.Message = new Core.Helpers.Constructor("/Alerts/Specific/Staff/Modify/Teaching/Period/Selection/noselectionstate.html").ToString(); this.Page.Contents = noSelection.ToString(); } if (Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage.ContainsKey("StaffTeachingTimetableSelection")) { Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage["StaffTeachingTimetableSelection"] = ""; } else { Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage.Add("StaffTeachingTimetableSelection", ""); } } }
protected override void GenerateOutput() { if (this.HasStaffId()) { this.SetSearchTerm(); Core.Helpers.Database.ParameterBuilder paramBuilder = new Core.Helpers.Database.ParameterBuilder(); Core.Helpers.Elements.RecordLists.Collection recordCollection = new Core.Helpers.Elements.RecordLists.Collection(); recordCollection.Id = "Department"; paramBuilder.AddParameter(SqlDbType.Int, "@StaffId", this._staffId); paramBuilder.AddParameter(SqlDbType.VarChar, "@SearchTerm", this._searchTerm); using (SqlDataReader dataReader = Core.Helpers.Database.Provider.ExecuteReader("/Sql/Specific/Staff/Modify/Teaching/department.sql", paramBuilder.Parameters)) { dataReader.Read(); if (((bool)dataReader["Status"])) { dataReader.NextResult(); if (dataReader.HasRows) { int recordCount = 0; while (dataReader.Read()) { Core.Helpers.Elements.RecordLists.Record departmentRecord = new Core.Helpers.Elements.RecordLists.Record(); int departmentId = (int)dataReader["Id"]; departmentRecord.LeftSide.Image.Source = "books.png"; departmentRecord.LeftSide.Image.ToolTip = "Department"; departmentRecord.LeftSide.MainText = dataReader["Name"] as string; departmentRecord.Id = departmentId.ToString(); departmentRecord.OnClick = "getResponse('Department" + departmentId + "', '?path=/staff/modify/update/teaching/department/" + this._staffId + "/" + departmentId + "/', false, false, true);"; if ((bool)dataReader["IsSelected"]) { departmentRecord.Colour = Core.Helpers.Elements.RecordLists.Colours.Green; } else { departmentRecord.Colour = Core.Helpers.Elements.RecordLists.Colours.Blue; } recordCollection.Add(departmentRecord); recordCount++; } this.Page.Contents = recordCollection.ToString(); if (Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage.ContainsKey("StaffTeachingDepartmentSelection")) { Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage["StaffTeachingDepartmentSelection"] = recordCount; } else { Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage.Add("StaffTeachingDepartmentSelection", recordCount); } } else { Core.Helpers.Elements.Alerts.Alert noResultsAlert = new Core.Helpers.Elements.Alerts.Alert("NoResults"); noResultsAlert.Colour = Core.Helpers.Elements.Alerts.Colours.Yellow; noResultsAlert.Message = new Core.Helpers.Constructor("/Alerts/Specific/Staff/Modify/Teaching/Department/noresults.html").ToString(); this.Page.Contents = noResultsAlert.ToString(); } } else { Core.Helpers.Elements.Alerts.Alert invalidAlert = new Core.Helpers.Elements.Alerts.Alert("InvalidDetails"); invalidAlert.Colour = Core.Helpers.Elements.Alerts.Colours.Red; invalidAlert.Message = new Core.Helpers.Constructor("/Alerts/Specific/Staff/Modify/Teaching/Department/invalid.html").ToString(); this.Page.Contents = invalidAlert.ToString(); } } } else { Core.Helpers.Elements.Alerts.Alert missingAlert = new Core.Helpers.Elements.Alerts.Alert("MissingDetails"); missingAlert.Colour = Core.Helpers.Elements.Alerts.Colours.Red; missingAlert.Message = new Core.Helpers.Constructor("/Alerts/Specific/Staff/Modify/Teaching/Department/missing.html").ToString(); this.Page.Contents = missingAlert.ToString(); } }
public RecordBase() { this._record = new Core.Helpers.Elements.RecordLists.Record(); }
protected override void GenerateOutput() { if (this.CheckInputValidity()) { Core.Helpers.Database.ParameterBuilder paramBuilder = new Core.Helpers.Database.ParameterBuilder(); paramBuilder.AddParameter(SqlDbType.Int, "@WeekNo", this._timetableWeek); paramBuilder.AddParameter(SqlDbType.Int, "@DayNo", (int)(this._selectedDate.DayOfWeek + 1)); paramBuilder.AddParameter(SqlDbType.Int, "@MaxPeriods", this._periods); paramBuilder.AddParameter(SqlDbType.SmallDateTime, "@Date", this._selectedDate); if (this.Path.HasNext()) { paramBuilder.AddParameter(SqlDbType.VarChar, "@SearchTerm", this.Path.Next()); } else { paramBuilder.AddParameter(SqlDbType.VarChar, "@SearchTerm", ""); } using (SqlDataReader dataReader = Core.Helpers.Database.Provider.ExecuteReader("/Sql/Specific/Cover/Arrange/Attendance/Attendance/attendance.sql", paramBuilder.Parameters)) { if (dataReader.HasRows) { Core.Helpers.Elements.RecordLists.Collection collection = new Core.Helpers.Elements.RecordLists.Collection(); collection.Id = "Attendance"; int recordCount = 0; while (dataReader.Read()) { Core.Helpers.Elements.RecordLists.Record record = new Core.Helpers.Elements.RecordLists.Record(); int staffId = (int)dataReader["StaffId"]; UserManagement.StaffNameFormatter nameFormatter = new UserManagement.StaffNameFormatter(); nameFormatter.Forename = dataReader["Forename"] as string; nameFormatter.Surname = dataReader["Surname"] as string; nameFormatter.HoldingName = dataReader["HoldingName"] as string; int attendanceRecord = (int)dataReader["AttendanceRecord"]; record.Id = "Staff" + staffId.ToString(); if (attendanceRecord > 0) { record.Colour = Core.Helpers.Elements.RecordLists.Colours.Red; } record.LeftSide.MainText = nameFormatter.ToString(); nameFormatter.IsToolTip = true; record.LeftSide.SetImage("dude.png", nameFormatter.ToString()); record.OnClick = "getResponse('AttendanceStaff" + staffId + "', '?path=/cover/arrange/attendance/ajax/attendance/modify/" + this._selectedDate.Year.ToString() + "/" + this._selectedDate.Month.ToString() + "/" + this._selectedDate.Day.ToString() + "/" + staffId + "/', false, false, true); resetSearch('Periods');"; collection.Add(record); recordCount++; } if (Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage.ContainsKey("ArrangeAttendanceCount")) { Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage["ArrangeAttendanceCount"] = recordCount; } else { Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage.Add("ArrangeAttendanceCount", recordCount); } this.Page.Contents = collection.ToString(); } else { Core.Helpers.Elements.Alerts.Alert alert = new Core.Helpers.Elements.Alerts.Alert("NoResults"); alert.Colour = Core.Helpers.Elements.Alerts.Colours.Yellow; alert.NoScript = false; alert.ShowCloseBox = false; alert.StartHidden = false; alert.Message = new Core.Helpers.Constructor("/Alerts/Ajax/noresults.html").ToString(); this.Page.Contents = alert.ToString(); } } } else { Core.Helpers.Elements.Alerts.Alert alert = new Core.Helpers.Elements.Alerts.Alert("Error"); alert.Colour = Core.Helpers.Elements.Alerts.Colours.Red; alert.NoScript = false; alert.ShowCloseBox = false; alert.StartHidden = false; alert.Message = new Core.Helpers.Constructor("/Alerts/Ajax/error.html").ToString(); this.Page.Contents = alert.ToString(); } }