protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int index = Convert.ToInt32(e.CommandArgument);
            if (index >= GridView1.Rows.Count) return;
            GridViewRow selectedRow = ((GridView)e.CommandSource).Rows[index];
            string ID = selectedRow.Cells[2].Text;
            if (e.CommandName == "remove")
            {
                if (GridView1.Rows.Count == 0) return;
                HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
                var DeleteAr = (from ar in db.Articles
                                where ar.ArticleID.ToString() == ID
                                select ar).First();

                db.Articles.DeleteOnSubmit(DeleteAr);
                db.SubmitChanges();
                db.Connection.Close();
                //delete relevant content in table
                Classes.TableDataContract.DeleteArticle(Convert.ToInt32(ID));
                ReloadAnnouncements();
                Response.Redirect("StaffAnnouncements.aspx");
            }
            else if (e.CommandName == "view")
            {
                Session["ArticleID"] = Convert.ToInt32(ID);
                Response.Redirect("./NewsPage.aspx");
            }
        }
Exemple #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Classes.HogwartsDataAccess.GetRole(Context.User.Identity.Name) == 1)
            {
                Response.Redirect("~/StaffWorks/StaffHome/StaffProfile.aspx");
            }
            HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
            int StudentID   = (int)Session["studentID"];
            var EachStudent = (from st in db.Students
                               where st.StudentID == StudentID
                               select st).First();
            var rec = (from sr in db.StudentRequests
                       where StudentID == sr.StudentID
                       select sr).FirstOrDefault();

            if (rec != null)
            {
                LinkButton1.Enabled = false;
            }
            else
            {
                LinkButton1.Enabled = true;
            }
            Label2.Text = EachStudent.FirstName + " " + EachStudent.LastName;
            Label3.Text = EachStudent.Nationality;
            Label4.Text = EachStudent.MmailAddress;
            Label5.Text = EachStudent.House.HouseName;
            Label6.Text = Context.User.Identity.Name;
        }
Exemple #3
0
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (DropDownList1.Items.Count == 0)
            {
                return;
            }
            HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
            int StudentID = Convert.ToInt32(DropDownList1.SelectedValue);
            var NeededStu = (from stu in db.Students
                             join house in db.Houses on stu.HouseID equals house.HouseID
                             where stu.StudentID == StudentID && stu.HouseID == house.HouseID
                             select new
            {
                StudentID = stu.StudentID,
                CurrentFirstname = stu.FirstName,
                CurrentLastname = stu.LastName,
                CurrentNationality = stu.Nationality,
                CurrentMMailAddress = stu.MmailAddress,
                CurrentHouseName = house.HouseName
            });

            GridView1.DataSource = NeededStu;
            GridView1.DataBind();
            var NewStu = (from stu in db.StudentRequests
                          where stu.StudentID == StudentID
                          select stu);

            GridView2.DataSource = NewStu;
            GridView2.DataBind();
            Button2.Visible = true;
            Button3.Visible = true;
        }
Exemple #4
0
        protected void Reload()
        {
            int CourseID = Int32.Parse((string)Session["CourseID"]);
            HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
            Course ret = (from course in db.Courses
                          where course.CourseID == CourseID
                          select course).First();

            SemH.InnerText        = "semester: " + ret.Semester.Time;
            DeptH.InnerText       = "department: " + ret.Discipline.Department.Name;
            CourseH.InnerText     = "course: #" + ret.CourseID.ToString() + " | " + ret.Discipline.Name;
            InstructorH.InnerText = "instructor: " + ret.Staff.FirstName + " " + ret.Staff.LastName;
            if (ret.AttendeeNumber == null)
            {
                Label1.Text       = "There's no student in this course";
                GridView1.Visible = false;
                Button1.Visible   = false;
                return;
            }
            Label1.Text = "";
            var sics = (from sic in db.StudentInCourses
                        where sic.CourseID == CourseID
                        select new { sic.StudentID, sic.Student.FirstName, sic.Student.LastName }).ToList();

            GridView1.DataSource = sics;
            GridView1.DataBind();
            foreach (GridViewRow gvr in GridView1.Rows)
            {
                DropDownList ddl = (DropDownList)gvr.FindControl("DropDownList1");
                ddl.SelectedValue = Classes.HogwartsDataAccess.GetStudentInCourse(Int32.Parse(gvr.Cells[0].Text), CourseID);
            }
            GridView1.Visible = true;
            Button1.Visible   = true;
            db.Connection.Close();
        }
 protected void Reload()
 {
     int CourseID = Int32.Parse((string)Session["CourseID"]);
     HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
     Course ret = (from course in db.Courses
                   where course.CourseID == CourseID
                   select course).First();
     SemH.InnerText = "semester: "+ret.Semester.Time;
     DeptH.InnerText = "department: "+ret.Discipline.Department.Name;
     CourseH.InnerText = "course: #" + ret.CourseID.ToString() + " | " + ret.Discipline.Name;
     InstructorH.InnerText = "instructor: "+ret.Staff.FirstName + " " + ret.Staff.LastName;
     if (ret.AttendeeNumber == null)
     {
         Label1.Text = "There's no student in this course";
         GridView1.Visible = false;
         Button1.Visible = false;
         return;
     }
     Label1.Text = "";
     var sics = (from sic in db.StudentInCourses
                 where sic.CourseID == CourseID
                 select new { sic.StudentID, sic.Student.FirstName, sic.Student.LastName }).ToList();
     GridView1.DataSource = sics;
     GridView1.DataBind();
     foreach (GridViewRow gvr in GridView1.Rows)
     {
         DropDownList ddl = (DropDownList)gvr.FindControl("DropDownList1");
         ddl.SelectedValue = Classes.HogwartsDataAccess.GetStudentInCourse(Int32.Parse(gvr.Cells[0].Text), CourseID);
     }
     GridView1.Visible = true;
     Button1.Visible = true;
     db.Connection.Close();
 }
        public static bool[][] GetStudentAllotedTable(int SemesterID, int StudentID)
        {
            bool[][] sat = new bool[7][];
            for (int i = 0; i < 7; i++)
            {
                sat[i] = new bool[9];
            }
            for (int i = 0; i < 7; i++)
            {
                for (int j = 0; j < 9; j++)
                {
                    sat[i][j] = false;
                }
            }
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);

            var sessions = (from sic in context.StudentInCourses
                            where sic.StudentID == StudentID && sic.Course.SemesterID == SemesterID
                            from s in context.Sessions
                            where s.CourseID == sic.CourseID
                            select s);

            foreach (Session s in sessions)
            {
                sat[s.Weekday][s.StartingPeriod]     = true;
                sat[s.Weekday][s.StartingPeriod + 1] = true;
            }
            context.Connection.Close();
            return(sat);
        }
Exemple #7
0
        protected void Button2_Click(object sender, EventArgs e)
        {
            HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
            int StudentID = Convert.ToInt32(GridView1.Rows[0].Cells[0].Text);

            var NewStu = (from nstu in db.StudentRequests
                          where nstu.StudentID == StudentID
                          select nstu).First();

            string NewHouseName = NewStu.NewHouseName;

            var house = (from h in db.Houses
                         where h.HouseName == NewHouseName
                         select h).First();
            var stu = (from s in db.Students
                       where s.StudentID == StudentID
                       select s).First();

            stu.FirstName    = NewStu.NewFirstName;
            stu.LastName     = NewStu.NewLastName;
            stu.Nationality  = NewStu.NewNationality;
            stu.MmailAddress = NewStu.NewMMailAddress;
            stu.HouseID      = house.HouseID;
            db.SubmitChanges();
            deleteStudentRequest();
            //give notification to the student in charge
            Staff staff = Classes.HogwartsDataAccess.GetStaff(Context.User.Identity.Name);

            Classes.TableDataContract.AddNotice(staff.StaffID, StudentID, "accepted", 0, true, false);
            Response.Redirect("ProcessStudentRequests.aspx");
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            RestartGeneration();
            HideInfo();
            HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();

            Dictionary <int, int> D = new Dictionary <int, int>();

            foreach (Course c in (List <Course>)Session["CourseLst"])
            {
                int disp1 = c.CourseID;
                db.Courses.InsertOnSubmit(c);
                db.SubmitChanges();
                int disp2 = c.CourseID;
                D[disp1] = disp2;
            }

            foreach (Session s in (List <Session>)Session["SessionLst"])
            {
                s.CourseID = D[s.CourseID];
                db.Sessions.InsertOnSubmit(s);
                db.SubmitChanges();
            }
            db.Connection.Close();
            Response.Redirect("GenerateCourses.aspx");
        }
        public static void FillAllottedClass(string time, bool[][][] AllottedClass)
        {
            for (int i = 1; i <= 10; i++)
            {
                for (int j = 2; j <= 6; j++)
                {
                    for (int k = 1; k <= 8; k++)
                    {
                        AllottedClass[i][j][k] = false;
                    }
                }
            }
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            var ret = (from semester in context.Semesters
                       where semester.Time == time
                       from course in context.Courses
                       where course.SemesterID == semester.SemesterID
                       from session in context.Sessions
                       where session.CourseID == course.CourseID
                       select session);

            foreach (Session s in ret)
            {
                AllottedClass[s.Classroom][s.Weekday][s.StartingPeriod]     = true;
                AllottedClass[s.Classroom][s.Weekday][s.StartingPeriod + 1] = true;
            }
            context.Connection.Close();
        }
Exemple #10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Classes.HogwartsDataAccess.GetRole(Context.User.Identity.Name) == 0)
            {
                Response.Redirect("~/StudentWorks/StudentHome/StudentProfile.aspx");
            }
            string username = Context.User.Identity.Name;
            HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
            var staff = (from s in db.Staffs
                         where s.UserName == username
                         select s).First();

            ViewState["title"] = staff.FirstName + " " + staff.LastName;
            try
            {
                if (!IsPostBack)
                {
                    this.EnsureContainerExists();
                }
                this.RefreshGallery();
            }
            catch (System.Net.WebException we)
            {
                status.Text = "Network error: " + we.Message;
                if (we.Status == System.Net.WebExceptionStatus.ConnectFailure)
                {
                    status.Text += "<br />Please check if the blob storage service is running at " +
                                   ConfigurationManager.AppSettings["storageEndpoint"];
                }
            }
            catch (StorageException se)
            {
                Console.WriteLine("Storage service error: " + se.Message);
            }
        }
        public static List <Department> GetDepartments()
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            var result = (from department in context.Departments
                          select department).ToList <Department>();

            context.Connection.Close();
            return(result);
        }
        public static Department GetDepartment(string username)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            var result = (from stu in context.Students
                          where stu.UserName == username
                          select stu).First();

            return(result.Department);
        }
        public static IQueryable <string> GetSemesterList()
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            var result = (from semester in context.Semesters
                          select semester.Time);

            context.Connection.Close();
            return(result);
        }
        public static int InsertSession(Session session)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);

            context.Sessions.InsertOnSubmit(session);
            context.SubmitChanges();
            context.Connection.Close();
            return(session.SessionID);
        }
        public static IQueryable <string> GetDepartmentList()
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            var result = (from department in context.Departments
                          select department.Name);

            context.Connection.Close();
            return(result);
        }
        public static List <Semester> GetAllSemesters()
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            var result = (from semester in context.Semesters
                          select semester).ToList <Semester>();

            context.Connection.Close();
            return(result);
        }
        public static List <Course> GetAllCourses()
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            var courses = (from course in context.Courses
                           select course).ToList <Course>();

            context.Connection.Close();
            return(courses);
        }
        public static Semester GetSemester(int semesterID)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            Semester outSemester = (from semester in context.Semesters
                                    where semester.SemesterID == semesterID
                                    select semester).FirstOrDefault <Semester>();

            return(outSemester);
        }
        public static int InsertCourse(Course course)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);

            context.Courses.InsertOnSubmit(course);
            context.SubmitChanges();
            context.Connection.Close();
            return(course.CourseID);
        }
        public static List <Student> GetStudent(int studentID)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            List <Student> students = (from stu in context.Students
                                       where stu.StudentID == studentID
                                       select stu).ToList <Student>();

            context.Connection.Close();
            return(students);
        }
        public static Discipline GetDiscipline(int disciplineID)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            Discipline discipline = (from d in context.Disciplines
                                     where d.DisciplineID == disciplineID
                                     select d).FirstOrDefault <Discipline>();

            context.Connection.Close();
            return(discipline);
        }
        public static string GetStudentInCourse(int StudentID, int CourseID)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            var CourseGPA = (from sic in context.StudentInCourses
                             where sic.StudentID == StudentID && sic.CourseID == CourseID
                             select sic.CourseGPA).First();

            context.Connection.Close();
            return(CourseGPA);
        }
        public static string GetDepartment(int DepartmentID)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            var ret = (from department in context.Departments
                       where department.DepartmentID == DepartmentID
                       select department.Name).First();

            context.Connection.Close();
            return(ret);
        }
        public static List <Session> GetSessions(int courseID)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            var sessions = (from session in context.Sessions
                            where session.CourseID == courseID
                            select session).ToList <Session>();

            context.Connection.Close();
            return(sessions);
        }
        public static Staff GetStaff(string UserName, string Password)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            Staff staff = (from sta in context.Staffs
                           where sta.UserName == UserName && sta.Password == Password
                           select sta).FirstOrDefault <Staff>();

            context.Connection.Close();
            return(staff);
        }
        public static Course GetCourse(int CourseID)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            var course = (from c in context.Courses
                          where c.CourseID == CourseID
                          select c).First();

            context.Connection.Close();
            return(course);
        }
        public static List <Course> GetCourses(int semesterID)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            List <Course> courses = (from course in context.Courses
                                     where course.SemesterID == semesterID
                                     select course).ToList <Course>();

            context.Connection.Close();
            return(courses);
        }
        public static List <Discipline> GetDisciplines(int departmentID)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext();
            var result = (from discipline in context.Disciplines
                          where discipline.DepartmentID == departmentID
                          select discipline).ToList <Discipline>();

            context.Connection.Close();
            return(result);
        }
        public static Student GetStudent(string UserName, string Password)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            Student student = (from stu in context.Students
                               where stu.UserName == UserName && stu.Password == Password
                               select stu).FirstOrDefault <Student>();

            context.Connection.Close();
            return(student);
        }
        public static List <Staff> GetStaffs(int deparmentID)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext();
            var result = (from staff in context.Staffs
                          where staff.DepartmentID == deparmentID
                          select staff).ToList <Staff>();

            context.Connection.Close();
            return(result);
        }
        public static string GetStudentName(int StudentID)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            Student student = (from stu in context.Students
                               where stu.StudentID == StudentID
                               select stu).FirstOrDefault <Student>();

            context.Connection.Close();
            return(student.FirstName + " " + student.LastName);
        }
        public static int GetSemesterID(string time)
        {
            HogwartsDatabaseModelDataContext context = new HogwartsDatabaseModelDataContext(ConnectionString);
            var ret = (from semester in context.Semesters
                       where semester.Time == time
                       select semester.SemesterID).First();

            context.Connection.Close();
            return(ret);
        }
 private void ReloadAnnouncements()
 {
     HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
     var ars = (from ar in db.Articles
                where ar.StaffID == (int)Session["StaffID"]
                select new { ar.ArticleID, ar.Title, PostingDate = ar.DateTime }).ToList();
     GridView1.DataSource = ars;
     GridView1.DataBind();
     db.Connection.Close();
 }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Classes.HogwartsDataAccess.GetRole(Context.User.Identity.Name) == 0)
         Response.Redirect("~/StudentWorks/StudentHome/StudentProfile.aspx");
     if (!Page.IsPostBack)
     {
         HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
         string username = Context.User.Identity.Name;
         var rec = (from c in db.Staffs
                    where username == c.UserName
                    select c).First();
         Session["StaffID"] = rec.StaffID;
     }
 }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Classes.HogwartsDataAccess.GetRole(Context.User.Identity.Name) == 0)
                Response.Redirect("~/StudentWorks/StudentHome/StudentProfile.aspx");
            HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
            int ArticleID = (int)Session["ArticleID"];
            var ar = (from a in db.Articles
                      where ArticleID == a.ArticleID
                      select a).First();

            title.InnerText = ar.Title;
            time.InnerText = ar.DateTime.ToString();
            content.InnerHtml = ar.Content;
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (TextBox1.Text != TextBox2.Text || TextBox1.Text == "")
            {
                Label1.Text = "Passwords do not match. Type them again.";
                return;
            }

            string UserName = Context.User.Identity.Name;
            HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
            var NeededStu = (from st in db.Students
                             where st.UserName == UserName
                             select st).First();
            NeededStu.Password = TextBox1.Text;
            db.SubmitChanges();
            Label1.Text = "Your password has been changed successfully.";
        }
 protected void Button1_Click(object sender, EventArgs e)
 {
     int CourseID = Int32.Parse((string)Session["CourseID"]);
     HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
     foreach (GridViewRow gvr in GridView1.Rows)
     {
         DropDownList ddl = (DropDownList)gvr.FindControl("DropDownList1");
         int StudentID = Int32.Parse(gvr.Cells[0].Text);
         string grade = ddl.SelectedValue;
         var sic = (from s in db.StudentInCourses
                    where s.StudentID == StudentID && s.CourseID == CourseID
                    select s).First();
         sic.CourseGPA = grade;
         db.SubmitChanges();
     }
     db.Connection.Close();
     Label1.Text = "Grades have been updated";
 }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Classes.HogwartsDataAccess.GetRole(Context.User.Identity.Name) == 1)
         Response.Redirect("~/StaffWorks/StaffHome/StaffProfile.aspx");
     HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
     int ArticleID = (int)Session["ArticleID"];
     var ar = (from a in db.Articles
               where ArticleID == a.ArticleID
               select a).FirstOrDefault();
     if (ar == null)
     {
         ErrorH.Visible = true;
         return;
     }
     ErrorH.Visible = false;
     title.InnerText = ar.Title;
     time.InnerText = ar.DateTime.ToString();
     content.InnerHtml = ar.Content;
 }
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (TextBox1.Text == "")
            {
                Label1.Text = "Title must not be nill";
                return;
            }

            if (TextBox1.Text.Length>100)
            {
                Label1.Text = "Title is too long";
                return;
            }

            HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
            string username = Context.User.Identity.Name;
            Staff staff = Classes.HogwartsDataAccess.GetStaff(username);
            //Insert new article to database
            Article ar = new Article();
            ar.Title = TextBox1.Text;
            ar.Content = FreeTextBox1.ViewStateText;
            ar.DateTime = DateTime.Now;
            ar.StaffID = staff.StaffID;
            db.Articles.InsertOnSubmit(ar);
            db.SubmitChanges();
            //GET LATEST SUBMITTED ARTICLE ID
            List<Article> ArticleLst = db.Articles.ToList() ;
            int UpdateArticleID = 0;
            for(int i=ArticleLst.Count - 1; i>=0; i--)
                if(ArticleLst[i].StaffID == ar.StaffID)
                {
                    UpdateArticleID = ArticleLst[i].ArticleID;
                    break;
                }

            Session["ArticleID"] = UpdateArticleID;

            //NOTICE TO ALL ONLINE STUDENT
            List<Student> lst = db.Students.ToList();
            for(int i=0;i<lst.Count;i++)
                Classes.TableDataContract.AddNotice(ar.StaffID, lst[i].StudentID, ar.Title, UpdateArticleID, false, false);
            Response.Redirect("./NewsPage.aspx");
        }
        protected void Reload()
        {
            HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
            var courses = (from course in db.Courses
                           where course.Semester.Time == (string)ViewState["SemesterTime"] && course.Discipline.Department.Name == (string)ViewState["DepartmentName"]
                           select new { course.CourseID, course.Semester.Time, Department = course.Discipline.Department.Name, Discipline = course.Discipline.Name, Teacher = course.Staff.FirstName + " " + course.Staff.LastName, course.AttendeeNumber, course.MaxCapacity }).ToList();
            if (courses.Count() == 0)
            {
                Label1.Text = "There's no course for this semester";
                CourseGeH.Visible = false;
                SessionGeH.Visible = false;
                GridView1.Visible = false;
                GridView2.Visible = false;
                return;
            }

            GridView1.DataSource = courses;
            GridView1.DataBind();
            foreach (GridViewRow gvr in GridView1.Rows)
            {
                int CourseID = Int32.Parse(gvr.Cells[0].Text);
                Course course = HogwartsDataAccess.GetCourse(CourseID);
                if (course.AttendeeNumber == null)
                    gvr.Cells[7].Text = "";
            }
            List<TempSession> TSessionLst = Utility.CreateNewTempSessionList(db.Sessions.ToList<Session>());
            var sessions = (from ts in TSessionLst
                            from c in courses
                            where ts.TempCourseID == c.CourseID
                            select new { CourseID = ts.TempCourseID, SessionID = ts.TempSessionID, ts.Classroom, ts.Weekday, ts.StartingTime, ts.FinishingTime }).ToList();
            GridView2.DataSource = sessions;
            GridView2.DataBind();
            Label1.Text = "";
            CourseGeH.Visible = true;
            SessionGeH.Visible = true;
            GridView1.Visible = true;
            GridView2.Visible = true;
            db.Connection.Close();
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
            int StudentID = (int)Session["StudentID"];
            int SemesterID = Classes.HogwartsDataAccess.GetSemesterID(DropDownList1.SelectedValue);
            var courses = (from sic in db.StudentInCourses
                           where sic.Student.StudentID == StudentID && sic.Course.SemesterID == SemesterID
                           select sic.Course);

            var sessions = (from c in courses
                            from s in db.Sessions
                            where c.CourseID == s.CourseID
                            select new { Semester = c.Semester.Time, c.CourseID, Discipline = c.Discipline.Name, c.Discipline.CreditNumber, s.SessionID, Weekday = Utility.GetWeekday(s.Weekday), StartingTime = Utility.GetStartingTime(s.StartingPeriod), FinishingTime = Utility.GetFinishingTime(s.StartingPeriod) });

            if (sessions.Count() == 0)
            {
                Label1.Text = "NO DATA AVAILABLE";
                GridView1.Visible = false;
                Label2.Text = "";
                return;
            }

            Label1.Text = "";
            GridView1.Visible = true;
            GridView1.DataSource = sessions;
            GridView1.DataBind();

            for (int i = GridView1.Rows.Count-1; i>0 ; i--)
            {
                int j = 1;
                while (i>0 && GridView1.Rows[i].Cells[1].Text == GridView1.Rows[i-1].Cells[1].Text)
                {
                    GridView1.Rows[i].Cells.RemoveAt(3);
                    GridView1.Rows[i].Cells.RemoveAt(2);
                    GridView1.Rows[i].Cells.RemoveAt(1);
                    i--;
                    j++;
                }
                GridView1.Rows[i].Cells[3].RowSpan = j;
                GridView1.Rows[i].Cells[2].RowSpan = j;
                GridView1.Rows[i].Cells[1].RowSpan = j;
            }

            for (int i = GridView1.Rows.Count - 1; i > 0; i--)
                GridView1.Rows[i].Cells.RemoveAt(0);
            GridView1.Rows[0].Cells[0].RowSpan = GridView1.Rows.Count;
            db.Connection.Close();

            int CreditHrs = 0;
            Course[] CA = courses.ToArray();

            for (int i = 0; i < CA.Count(); i++)
            {
                bool found = false;
                for (int j = i + 1; j < CA.Count(); j++)
                    if (CA[i].DisciplineID == CA[j].DisciplineID)
                    {
                        found = true;
                        break;
                    }
                if (!found)
                    CreditHrs += CA[i].Discipline.CreditNumber;
            }

            Label2.Text = "Credit Hours: "+CreditHrs.ToString();
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Classes.HogwartsDataAccess.GetRole(Context.User.Identity.Name) == 1)
         Response.Redirect("~/StaffWorks/StaffHome/StaffProfile.aspx");
     if (!Page.IsPostBack)
     {
         HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
         List<Semester> Semesters = (from s in db.Semesters
                                     select s).ToList<Semester>();
         for (int i = 0; i < Semesters.Count; i++)
             DropDownList1.Items.Add(Semesters[i].Time);
         db.Connection.Close();
     }
 }
        protected void Button2_Click(object sender, EventArgs e)
        {
            RestartGeneration();
            HideInfo();
            HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();

            Dictionary<int, int> D = new Dictionary<int, int>();

            foreach (Course c in (List<Course>)Session["CourseLst"])
            {
                int disp1 = c.CourseID;
                db.Courses.InsertOnSubmit(c);
                db.SubmitChanges();
                int disp2 = c.CourseID;
                D[disp1] = disp2;
            }

            foreach (Session s in (List<Session>)Session["SessionLst"])
            {
                s.CourseID = D[s.CourseID];
                db.Sessions.InsertOnSubmit(s);
                db.SubmitChanges();
            }
            db.Connection.Close();
            Response.Redirect("GenerateCourses.aspx");
        }
        protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox cb = (CheckBox)sender;
            GridViewRow gvr = (GridViewRow)cb.NamingContainer;
            Label1.Text = "";
            int CourseID = Int32.Parse(gvr.Cells[0].Text);
            int StudentID = (int)Session["StudentID"];
            if (cb.Checked)
            {
                //Array[7][9]
                bool[][] AllottedTable = Classes.HogwartsDataAccess.GetStudentAllotedTable((int)Session["SemesterID"], StudentID);
                List<Session> ls = Classes.HogwartsDataAccess.GetSessions(CourseID);
                foreach (Session s in ls)
                {
                    if (AllottedTable[s.Weekday][s.StartingPeriod] || AllottedTable[s.Weekday][s.StartingPeriod + 1])
                    {
                        Label1.Text = "School time is ovelapped";
                        cb.Checked = false;
                        return;
                    }
                }
                HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
                var course = (from c in db.Courses
                              where c.CourseID == CourseID
                              select c).First();

                if (course.AttendeeNumber >= course.MaxCapacity)
                {
                    Label1.Text = "Course is full";
                    return;
                }

                StudentInCourse sic = new StudentInCourse();
                sic.CourseID = CourseID;
                sic.StudentID = StudentID;
                db.StudentInCourses.InsertOnSubmit(sic);
                if (course.AttendeeNumber == null)
                {
                    course.AttendeeNumber = 1;
                    gvr.Cells[5].Text = "1";
                }
                else
                {
                    course.AttendeeNumber++;
                    gvr.Cells[5].Text = (Int32.Parse(gvr.Cells[5].Text) + 1).ToString();
                }
                db.SubmitChanges();
                db.Connection.Close();
            }
            else
            {
                HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
                StudentInCourse sic = (from sc in db.StudentInCourses
                                       where sc.CourseID == CourseID && sc.StudentID == StudentID
                                       select sc).First();
                db.StudentInCourses.DeleteOnSubmit(sic);
                var course = (from c in db.Courses
                              where c.CourseID == CourseID
                              select c).First();
                if (course.AttendeeNumber == 1)
                {
                    course.AttendeeNumber = null;
                    gvr.Cells[5].Text = "";
                }
                else
                {
                    course.AttendeeNumber--;
                    gvr.Cells[5].Text = (Int32.Parse(gvr.Cells[5].Text) - 1).ToString();
                }
                db.SubmitChanges();
                db.Connection.Close();
            }
            Response.Redirect("AddCourses.aspx");
        }
        private void ReLoad()
        {
            int SemesterID = (int)Session["SemesterID"];
            int DepartmentID = (int)Session["DepartmentID"];
            HogwartsDatabaseModelDataContext db = new HogwartsDatabaseModelDataContext();
            var courses = (from course in db.Courses
                           where course.SemesterID == SemesterID && course.Discipline.DepartmentID == DepartmentID
                           select new { course.CourseID, course.Semester.Time, Department = course.Discipline.Department.Name, Discipline = course.Discipline.Name, Teacher = course.Staff.FirstName + " " + course.Staff.LastName, course.AttendeeNumber, course.MaxCapacity }).ToList();

            SemH.InnerText = "semester: " + Classes.HogwartsDataAccess.GetSemester(SemesterID).Time;
            DeptH.InnerText = "department: " + Classes.HogwartsDataAccess.GetDepartment(DepartmentID);
            if (courses.Count() == 0)
            {
                Label1.Text = "There's no course for this semester";
                CourseGeH.Visible = false;
                SessionGeH.Visible = false;
                GridView1.Visible = false;
                GridView2.Visible = false;
                return;
            }

            GridView1.DataSource = courses;
            GridView1.DataBind();
            foreach (GridViewRow gvr in GridView1.Rows)
            {
                if (Classes.HogwartsDataAccess.StudentInCourse((int)Session["StudentID"], Int32.Parse(gvr.Cells[0].Text)))
                {
                    CheckBox cb = (CheckBox)gvr.FindControl("Checkbox1");
                    cb.Checked = true;
                }
            }
            List<TempSession> TSessionLst = Utility.CreateNewTempSessionList(db.Sessions.ToList<Session>());
            var sessions = (from ts in TSessionLst
                            from c in courses
                            where ts.TempCourseID == c.CourseID
                            select new { CourseID = ts.TempCourseID, SessionID = ts.TempSessionID, ts.Classroom, ts.Weekday, ts.StartingTime, ts.FinishingTime }).ToList();
            GridView2.DataSource = sessions;
            GridView2.DataBind();
            Label1.Text = "";
            CourseGeH.Visible = true;
            SessionGeH.Visible = true;
            GridView1.Visible = true;
            GridView2.Visible = true;
            db.Connection.Close();
        }