Exemple #1
0
        private void mainTTListview_ItemActivate(object sender, EventArgs e)
        {
            var moduleFullName = mainTTListview.SelectedItems[0].SubItems[0].Text;


            SavingAndReading data = new SavingAndReading();

            data.ReadTermTimetableFile();

            details_dataGridView1.Rows.Clear();

            foreach (WebpageTermTimetable e1 in SystemList.TermTimetableList)
            {
                if (e1.ModuleFullName == moduleFullName && e1.ModuleShortName.Last() != '1')
                {
                    ListViewItem item = new ListViewItem();

                    var shortName       = e1.ModuleShortName;
                    var roomName        = e1.RoomName;
                    var startHour       = e1.StartHour;
                    var endHour         = e1.EndHour;
                    var sessionProperty = e1.SessinonProperty;

                    details_dataGridView1.Rows.Add(shortName, roomName, startHour, endHour, sessionProperty);
                }
            }
        }
Exemple #2
0
        public void prodceLecturer()
        {
            string           docName = "TimetableTemplate.xlsx";
            int              position = 0, hour = 1, count = 0;
            SavingAndReading data = new SavingAndReading();

            data.ReadSgFile();
            data.ReadTemplateFile();
            data.ReadTermTimetableFile();

            foreach (Lecturer e1 in SystemList.LecturerList)
            {
                var workbook = new XLWorkbook(docName);
                var ws       = workbook.Worksheet(1);
                foreach (WebpageTermTimetable e2 in SystemList.TermTimetableList)
                {
                    if (e1.Id == e2.LecturerID)
                    {
                        var subHearder      = e1.FirstName + e1.LastName;
                        var moduleFullName  = e2.ModuleFullName;
                        var moduleShortName = e2.ModuleShortName.Substring(2);
                        var roomName        = e2.RoomName;
                        var lecturerName    = findLecturerName(e2.LecturerID);
                        hour = e2.EndHour - e2.StartHour;

                        insertTextToSubHeader(subHearder, ws);

                        var startPosition = string.Format("{0}{1}", (char)(e2.StartHour - 9 + 66), (e2.Day + 4));
                        var endPosition   = string.Format("{0}{1}", (char)(e2.StartHour - 9 + 66 + hour - 1), (e2.Day + 4));
                        //if a module over one hour then merge the cells
                        if (hour > 1)
                        {
                            mergeCells(startPosition, endPosition, ws);

                            insertDetailsToCells(roomName, moduleShortName, lecturerName, ws, startPosition, endPosition);
                        }
                        else
                        {
                            insertDetailsToCells(roomName, moduleShortName, lecturerName, ws, startPosition, endPosition);
                        }
                    }
                }
                createFolder();
                string path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Timetable System");

                workbook.SaveAs(path + "\\LecturerTimetable\\" + e1.FirstName + e1.LastName + ".xlsx");
            }
        }
Exemple #3
0
        private void changeSessionProperty(string ModuleShortName, string sessionProperty)
        {
            SavingAndReading data = new SavingAndReading();

            data.ReadTermTimetableFile();

            foreach (WebpageTermTimetable e1 in SystemList.TermTimetableList)
            {
                if (e1.ModuleShortName == ModuleShortName)
                {
                    e1.SessinonProperty = sessionProperty;
                }
            }

            data.WriteTermTimetable();
        }
        public WebpageTermTimetable returnAnotherSameSession(WebpageTermTimetable abandonSession)
        {
            SavingAndReading data = new SavingAndReading();

            data.ReadTermTimetableFile();

            foreach (WebpageTermTimetable e1 in SystemList.TermTimetableList)
            {
                //if(abandonSession != e1)
                {
                    if (e1.ModuleShortName != abandonSession.ModuleShortName && e1.ModuleFullName == abandonSession.ModuleFullName && e1.SessinonProperty == abandonSession.SessinonProperty)
                    {
                        return(e1);
                    }
                }
            }
            return(null);
        }
Exemple #5
0
        private void displayModuleName()
        {
            SavingAndReading data = new SavingAndReading();

            data.ReadTermTimetableFile();

            foreach (WebpageTermTimetable e1 in SystemList.TermTimetableList)
            {
                if (e1.ModuleShortName.Last() == '1')
                {
                    ListViewItem item = new ListViewItem();

                    //var moduleFullName = e1.ModuleFullName;
                    item.Text = e1.ModuleFullName;

                    mainTTListview.Items.Add(item);
                }
            }
        }
        private void lecturerListView_ItemActivate(object sender, EventArgs e)
        {
            SavingAndReading data = new SavingAndReading();

            data.ReadRoomFile(data.RoomFilename);
            data.ReadTermTimetableFile();
            data.ReadLecturerFile();


            removeControls();
            //collect the modules a lecuter is teaching
            var id = lecturerListView.SelectedItems[0].SubItems[0].Text;

            //List<Module> tempModuleList = new List<Module>();

            foreach (WebpageTermTimetable e1 in SystemList.TermTimetableList)
            {
                if (e1.LecturerID.ToString() == id)
                {
                    var moduleShortName = e1.ModuleShortName.Substring(3);
                    var roomName        = e1.RoomName;
                    var row             = e1.Day + 1;
                    var column          = e1.StartHour - 8;
                    var columnspan      = e1.EndHour - e1.StartHour;


                    Label newLabel = new Label();
                    newLabel.Dock      = DockStyle.Fill;
                    newLabel.Text      = roomName + "\n" + moduleShortName + "\n";
                    newLabel.TextAlign = ContentAlignment.MiddleCenter;
                    timetableLayoutPanel.Controls.Add(newLabel);
                    timetableLayoutPanel.SetCellPosition(newLabel, new TableLayoutPanelCellPosition(column, row));

                    if (columnspan > 1)
                    {
                        timetableLayoutPanel.SetColumnSpan(newLabel, columnspan);
                    }
                }
            }
        }
Exemple #7
0
        public void produceStudentTimetable(string yearX, string yearY, int degree, int grade, int term)
        {
            string           docName = "TimetableTemplate.xlsx";
            int              position = 0, hour = 1, count = 0;
            SavingAndReading data = new SavingAndReading();

            data.ReadSgFile();
            data.ReadTemplateFile();
            data.ReadTermTimetableFile();

            //collect tempstudent
            List <Student> tempStudentList = new List <Student>();

            foreach (Student e1 in SystemList.StudentList)
            {
                string x = e1.Id.ToString()[0].ToString();
                string y = e1.Id.ToString()[1].ToString();

                if (x == yearX && y == yearY && e1.Degree == degree && e1.Grade == grade && e1.Term == term)
                {
                    tempStudentList.Add(e1);
                }
            }

            foreach (Student e1 in tempStudentList)
            {
                var workbook = new XLWorkbook(docName);
                var ws       = workbook.Worksheet(1);

                foreach (TTTemplateList e2 in SystemList.TemplateList)
                {
                    if (e2.StudentList.Exists(r => r.Id == e1.Id))
                    {
                        foreach (WebpageTermTimetable e3 in e2.TttemPlateList)
                        {
                            var subHearder      = e1.FirstName + e1.LastName;
                            var moduleFullName  = e3.ModuleFullName;
                            var moduleShortName = e3.ModuleShortName.Substring(2);
                            var roomName        = e3.RoomName;
                            var lecturerName    = findLecturerName(e3.LecturerID);
                            hour = e3.EndHour - e3.StartHour;

                            insertTextToSubHeader(subHearder, ws);

                            var startPosition = string.Format("{0}{1}", (char)(e3.StartHour - 9 + 66), (e3.Day + 4));
                            var endPosition   = string.Format("{0}{1}", (char)(e3.StartHour - 9 + 66 + hour - 1), (e3.Day + 4));
                            //if a module over one hour then merge the cells
                            if (hour > 1)
                            {
                                mergeCells(startPosition, endPosition, ws);

                                insertDetailsToCells(roomName, moduleShortName, lecturerName, ws, startPosition, endPosition);
                            }
                            else
                            {
                                insertDetailsToCells(roomName, moduleShortName, lecturerName, ws, startPosition, endPosition);
                            }
                        }
                    }
                }

                createFolder();
                string path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Timetable System");

                workbook.SaveAs(path + "\\StudentTimetable\\" + e1.FirstName + e1.LastName + ".xlsx");
            }

            foreach (Student e1 in tempStudentList)
            {
                string path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "Timetable System");
                docName = path + "\\StudentTimetable\\" + e1.FirstName + e1.LastName + ".xlsx";

                var workbook = new XLWorkbook(docName);
                var ws       = workbook.Worksheet(1);
                foreach (SessionGroups e2 in SystemList.SessionGroupList)
                {
                    foreach (Student e3 in e2.StudentGroup)
                    {
                        if (e3.Id == e1.Id)
                        {
                            var moduleFullName  = e2.NonLectureSession.ModuleFullName;
                            var moduleShortName = e2.NonLectureSession.ModuleShortName.Substring(2);
                            var roomName        = e2.NonLectureSession.RoomName;
                            var lecturerName    = findLecturerName(e2.NonLectureSession.LecturerID);
                            hour = e2.NonLectureSession.EndHour - e2.NonLectureSession.StartHour;

                            var startPosition = string.Format("{0}{1}", (char)(e2.NonLectureSession.StartHour - 9 + 66), (e2.NonLectureSession.Day + 4));
                            var endPosition   = string.Format("{0}{1}", (char)(e2.NonLectureSession.StartHour - 9 + 66 + hour - 1), (e2.NonLectureSession.Day + 4));
                            //if a module over one hour then merge the cells
                            if (hour > 1)
                            {
                                mergeCells(startPosition, endPosition, ws);

                                insertDetailsToCells(roomName, moduleShortName, lecturerName, ws, startPosition, endPosition);
                            }
                            else
                            {
                                insertDetailsToCells(roomName, moduleShortName, lecturerName, ws, startPosition, endPosition);
                            }
                        }
                    }
                }

                workbook.Save();
            }
        }
        private void roomListView_ItemActivate(object sender, EventArgs e)
        {
            SavingAndReading data = new SavingAndReading();

            data.ReadRoomFile(data.RoomFilename);
            data.ReadTermTimetableFile();
            data.ReadLecturerFile();



            Room newRoom = new Room();

            newRoom.RoomName = roomListView.SelectedItems[0].SubItems[0].Text;
            //timetableLayoutPanel.Controls.Clear();
            removeControls();
            //drawingTimetable();
            foreach (Room e1 in SystemList.RoomsList)
            {
                if (e1.RoomName == newRoom.RoomName)
                {
                    for (int i = 0; i < 5; i++)
                    {
                        for (int j = 0; j < 9; j++)
                        {
                            if (e1.TtDimensionArray[i][j].HasSubject == true)
                            {
                                var position  = e1.TtDimensionArray[i][j].TermTTListPosition;
                                var ttDetails = SystemList.TermTimetableList[position];

                                var moduleFullName  = ttDetails.ModuleFullName;
                                var moduleShortName = ttDetails.ModuleShortName.Substring(3, ttDetails.ModuleShortName.Count() - 3);
                                var roomName        = ttDetails.RoomName;
                                var lecturerName    = findLecturerName(ttDetails.LecturerID);
                                var row             = ttDetails.Day + 1;
                                var column          = ttDetails.StartHour - 8;
                                var columnspan      = ttDetails.EndHour - ttDetails.StartHour;

                                Label newLabel = new Label();
                                newLabel.Dock      = DockStyle.Fill;
                                newLabel.Text      = newRoom.RoomName + "\n" + moduleShortName + "\n" + lecturerName;
                                newLabel.TextAlign = ContentAlignment.MiddleCenter;
                                timetableLayoutPanel.Controls.Add(newLabel);
                                timetableLayoutPanel.SetCellPosition(newLabel, new TableLayoutPanelCellPosition(column, row));

                                if (columnspan > 1)
                                {
                                    timetableLayoutPanel.SetColumnSpan(newLabel, columnspan);
                                }
                            }
                        }
                    }
                }
            }

            //Label newLabel = new Label();
            //newLabel.Dock = DockStyle.Fill;
            //newLabel.Text = newRoom.RoomName;
            //timetableLayoutPanel.Controls.Add(newLabel);
            //timetableLayoutPanel.SetCellPosition(newLabel, new TableLayoutPanelCellPosition(1, 1));
            //timetableLayoutPanel.SetColumnSpan(newLabel, 2);


            //timetableLayoutPanel.Controls.Add(new Label() {Text = "asdf", Dock = DockStyle.Fill  }, 1,1);
            //timetableLayoutPanel.GetCellPosition;
            //timetableLayoutPanel.GetCellPosition()
        }