Ejemplo n.º 1
0
        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", "");
                }
            }
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
 public RecordBase()
 {
     this._record = new Core.Helpers.Elements.RecordLists.Record();
 }
Ejemplo n.º 4
0
        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();
            }
        }