protected override void GenerateOutput() { Core.Helpers.Elements.Ajax.Xml.Collection xmlCollection = new Core.Helpers.Elements.Ajax.Xml.Collection(); bool isInternalStaff; int coverId; int staffId; if (this.CheckInputValidity() && this.IsInternalStaff(out isInternalStaff) && this.GetValue(out coverId) && this.GetValue(out staffId)) { DateTime startDate = Core.WebServer.PleaseTakes.Session.CurrentInstance.School.Settings.Timetabling.SessionDetails.CurrentSession.GetDateSessionInformation(this._selectedDate).RotationStartDate; DateTime endDate = Core.WebServer.PleaseTakes.Session.CurrentInstance.School.Settings.Timetabling.SessionDetails.CurrentSession.GetDateSessionInformation(this._selectedDate).RotationEndDate; Core.Helpers.Database.ParameterBuilder paramBuilder = new Core.Helpers.Database.ParameterBuilder(); paramBuilder.AddParameter(SqlDbType.Bit, "@IsInternalStaff", isInternalStaff); paramBuilder.AddParameter(SqlDbType.Int, "@CoverId", coverId); paramBuilder.AddParameter(SqlDbType.Int, "@StaffId", staffId); paramBuilder.AddParameter(SqlDbType.SmallDateTime, "@StartDate", startDate); paramBuilder.AddParameter(SqlDbType.SmallDateTime, "@EndDate", endDate); paramBuilder.AddParameter(SqlDbType.Int, "@WeekNo", this._timetableWeek); paramBuilder.AddParameter(SqlDbType.Int, "@DayNo", (int)(this._selectedDate.DayOfWeek + 1)); using (SqlDataReader dataReader = Core.Helpers.Database.Provider.ExecuteReader("/Sql/Specific/Cover/Arrange/Selection/Selection/modify.sql", paramBuilder.Parameters)) { dataReader.Read(); if ((bool)dataReader["Status"]) { dataReader.NextResult(); if (dataReader.HasRows) { while (dataReader.Read()) { Core.Helpers.Elements.Ajax.Xml.Element xmlElement = new Core.Helpers.Elements.Ajax.Xml.Element(); if ((bool)dataReader["IsRequest"]) { Records.RequestBase record = new Records.RequestBase(); xmlElement.Id = "Request" + (int)dataReader["Id"]; if ((bool)dataReader["RequestHasCover"]) { Records.CoverSelected newRecord = new Records.CoverSelected(); xmlElement.ClassName = "Green"; UserManagement.StaffNameFormatter staffAbsenteeNameFormatter = new UserManagement.StaffNameFormatter(); staffAbsenteeNameFormatter.Forename = dataReader["RequestAbsentForename"] as string; staffAbsenteeNameFormatter.Surname = dataReader["RequestAbsentSurname"] as string; staffAbsenteeNameFormatter.HoldingName = dataReader["RequestAbsentHoldingname"] as string; newRecord.AbsenteeName = staffAbsenteeNameFormatter; //newRecord.AbsenteeName = Core.Utils.FormatStaffName(dataReader["RequestAbsentForename"] as string, dataReader["RequestAbsentSurname"] as string, dataReader["RequestAbsentHoldingname"] as string, false, false, false); newRecord.Period = (int)dataReader["RequestPeriod"]; newRecord.CommitmentName = dataReader["RequestCommitmentName"] as string; newRecord.IsInternalCover = (bool)dataReader["IsInternalCover"]; UserManagement.StaffNameFormatter staffCoveringNameFormatter = new UserManagement.StaffNameFormatter(); staffCoveringNameFormatter.Forename = dataReader["RequestCoverForename"] as string; staffCoveringNameFormatter.Surname = dataReader["RequestCoverSurname"] as string; staffCoveringNameFormatter.HoldingName = dataReader["RequestCoverHoldingName"] as string; newRecord.CoverStaffName = staffCoveringNameFormatter; //newRecord.CoverStaffName = Core.Utils.FormatStaffName(dataReader["RequestCoverForename"] as string, dataReader["RequestCoverSurname"] as string, dataReader["RequestCoverHoldingName"] as string, false, false, false); record = newRecord; } else { Records.NoCoverSelected newRecord = new Records.NoCoverSelected(); xmlElement.ClassName = "Red"; UserManagement.StaffNameFormatter absenteeNameFormatter = new UserManagement.StaffNameFormatter(); absenteeNameFormatter.Forename = dataReader["RequestAbsentForename"] as string; absenteeNameFormatter.Surname = dataReader["RequestAbsentSurname"] as string; absenteeNameFormatter.HoldingName = dataReader["RequestAbsentHoldingName"] as string; newRecord.AbsenteeName = absenteeNameFormatter; //newRecord.AbsenteeName = Core.Utils.FormatStaffName(dataReader["RequestAbsentForename"] as string, dataReader["RequestAbsentSurname"] as string, dataReader["RequestAbsentHoldingName"] as string, false, false, false); newRecord.Period = (int)dataReader["RequestPeriod"]; newRecord.CommitmentName = dataReader["RequestCommitmentName"] as string; record = newRecord; } xmlElement.InnerHtml = record.InnerHtml; } else { Records.Selection record = new Records.Selection(); int entitlement = (int)dataReader["SelectionEntitlement"]; xmlElement.Id = "Selection" + (int)dataReader["Id"]; record.IsInternal = isInternalStaff; if (isInternalStaff) { UserManagement.StaffNameFormatter nameFormatter = new UserManagement.StaffNameFormatter(); nameFormatter.Forename = dataReader["SelectionForename"] as string; nameFormatter.Surname = dataReader["SelectionSurname"] as string; nameFormatter.HoldingName = dataReader["SelectionHoldingName"] as string; record.StaffName = nameFormatter; } else { UserManagement.StaffNameFormatter nameFormatter = new UserManagement.StaffNameFormatter(); nameFormatter.Forename = dataReader["SelectionForename"] as string; nameFormatter.Surname = dataReader["SelectionSurname"] as string; record.StaffName = nameFormatter; } if ((bool)dataReader["SelectionIsSelected"]) { xmlElement.ClassName = "Green"; } else if (entitlement.Equals(0)) { xmlElement.ClassName = "Red"; } else { xmlElement.ClassName = ""; } record.Entitlement = entitlement; xmlElement.InnerHtml = record.InnerHtml; } xmlCollection.Add(xmlElement); } } } } } this.Page.Contents = xmlCollection.ToString(); }
protected override void GenerateOutput() { if (this.CheckInputValidity()) { Core.Helpers.Database.ParameterBuilder paramBuilder = new Core.Helpers.Database.ParameterBuilder(); paramBuilder.AddParameter(SqlDbType.SmallDateTime, "@Date", this._selectedDate); paramBuilder.AddParameter(SqlDbType.Int, "@WeekNo", this._timetableWeek); paramBuilder.AddParameter(SqlDbType.Int, "@DayNo", (int)(this._selectedDate.DayOfWeek + 1)); if (this.Path.HasNext() && this.Path.Peek().Equals("notrequired")) { this.Path.Next(); paramBuilder.AddParameter(SqlDbType.Bit, "@GetNoCoverRequests", 1); } else { paramBuilder.AddParameter(SqlDbType.Bit, "@GetNoCoverRequests", 0); } 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/Selection/Requests/list.sql", paramBuilder.Parameters)) { if (dataReader.HasRows) { Core.Helpers.Elements.RecordLists.Collection recordCollection = new Core.Helpers.Elements.RecordLists.Collection(); int requestsCount = 0; while (dataReader.Read()) { Records.RequestBase record = new Records.RequestBase(); if ((bool)dataReader["IsBusy"]) { if ((!dataReader["IsYeargroupAway"].Equals(System.DBNull.Value)) && ((bool)dataReader["IsYeargroupAway"])) { Records.NoCoverRequired newRecord = new Records.NoCoverRequired(); newRecord.CommitmentName = dataReader["CommitmentName"] as string; newRecord.IsYeargroupAway = true; record = newRecord; } else if (!(bool)dataReader["TeachingClass"]) { Records.NoCoverRequired newRecord = new Records.NoCoverRequired(); newRecord.CommitmentName = dataReader["CommitmentName"] as string; newRecord.IsNotTeaching = true; record = newRecord; } else { if ((bool)dataReader["HasCover"]) { if ((bool)dataReader["IsInternalCover"]) { Records.CoverSelected newRecord = new Records.CoverSelected(); newRecord.IsInternalCover = true; newRecord.Id = "Request" + (int)dataReader["CoverId"]; newRecord.OnClick = "switchToSelection(" + (int)dataReader["CoverId"] + ", " + this._selectedDate.Year + ", " + this._selectedDate.Month + ", " + this._selectedDate.Day + ", true)"; newRecord.CommitmentName = dataReader["CommitmentName"] as string; UserManagement.StaffNameFormatter coveringStaffNameFormatter = new UserManagement.StaffNameFormatter(); coveringStaffNameFormatter.Forename = dataReader["CoverForename"] as string; coveringStaffNameFormatter.Surname = dataReader["CoverSurname"] as string; coveringStaffNameFormatter.HoldingName = dataReader["CoverHoldingName"] as string; newRecord.CoverStaffName = coveringStaffNameFormatter; //newRecord.CoverStaffName = Core.Utils.FormatStaffName(dataReader["CoverForename"] as string, dataReader["CoverSurname"] as string, dataReader["CoverHoldingName"] as string, false, false, false); record = newRecord; } else { Records.CoverSelected newRecord = new Records.CoverSelected(); newRecord.IsInternalCover = false; newRecord.Id = "Request" + (int)dataReader["CoverId"]; newRecord.OnClick = "switchToSelection(" + (int)dataReader["CoverId"] + ", " + this._selectedDate.Year + ", " + this._selectedDate.Month + ", " + this._selectedDate.Day + ", true)"; newRecord.CommitmentName = dataReader["CommitmentName"] as string; UserManagement.StaffNameFormatter coveringStaffNameFormatter = new UserManagement.StaffNameFormatter(); coveringStaffNameFormatter.Forename = dataReader["CoverForename"] as string; coveringStaffNameFormatter.Surname = dataReader["CoverSurname"] as string; newRecord.CoverStaffName = coveringStaffNameFormatter; //newRecord.CoverStaffName = Core.Utils.FormatStaffName(dataReader["CoverForename"] as string, dataReader["CoverSurname"] as string, null, false, false, false); record = newRecord; } } else { Records.NoCoverSelected newRecord = new Records.NoCoverSelected(); newRecord.Id = "Request" + (int)dataReader["CoverId"]; newRecord.OnClick = "switchToSelection(" + (int)dataReader["CoverId"] + ", " + this._selectedDate.Year + ", " + this._selectedDate.Month + ", " + this._selectedDate.Day + ", true)"; newRecord.CommitmentName = dataReader["CommitmentName"] as string; record = newRecord; } } } else { Records.NoCoverRequired newRecord = new Records.NoCoverRequired(); newRecord.IsYeargroupAway = false; record = newRecord; } UserManagement.StaffNameFormatter absenteeNameFormatter = new UserManagement.StaffNameFormatter(); absenteeNameFormatter.Forename = dataReader["AbsentForename"] as string; absenteeNameFormatter.Surname = dataReader["AbsentSurname"] as string; absenteeNameFormatter.HoldingName = dataReader["AbsentHoldingName"] as string; record.AbsenteeName = absenteeNameFormatter; record.AbsenteeNameToolTip = absenteeNameFormatter; //record.AbsenteeName = Core.Utils.FormatStaffName(dataReader["AbsentForename"] as string, dataReader["AbsentSurname"] as string, dataReader["AbsentHoldingName"] as string, false, false, false); //record.AbsenteeNameToolTip = Core.Utils.FormatStaffName(dataReader["AbsentForename"] as string, dataReader["AbsentSurname"] as string, dataReader["AbsentHoldingName"] as string, false, false, false); record.Period = (int)dataReader["Period"]; recordCollection.Add(record.Record); requestsCount++; } if (Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage.ContainsKey("ArrangeRequestsCount")) { Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage["ArrangeRequestsCount"] = requestsCount; } else { Core.WebServer.PleaseTakes.Session.CurrentInstance.TemporaryStorage.Add("ArrangeRequestsCount", requestsCount); } this.Page.Contents = recordCollection.ToString(); } else { Core.Helpers.Elements.Alerts.Alert a = new Core.Helpers.Elements.Alerts.Alert("NoRequests"); a.Colour = PleaseTakes.Core.Helpers.Elements.Alerts.Colours.Yellow; a.NoScript = false; a.ShowCloseBox = false; a.StartHidden = false; a.Message = new Core.Helpers.Constructor("/Alerts/Specific/Cover/Arrange/Selection/Requests/norequests.html").ToString(); this.Page.Contents = a.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(); } }