コード例 #1
0
ファイル: department.aspx.cs プロジェクト: ConnorX/lab3
        protected void btnSave_Click(object sender, EventArgs e)
        {
            //connect
            using (DefaultConnection conn = new DefaultConnection())
            {
                //instantiate a new deparment object in memory
                Department d = new Department();

                //decide if updating or adding, then save
                if (Request.QueryString.Count > 0)
                {
                    Int32 DepartmentID = Convert.ToInt32(Request.QueryString["DepartmentID"]);

                    d = (from dep in conn.Departments
                         where dep.DepartmentID == DepartmentID
                         select dep).FirstOrDefault();
                }

                //fill the properties of our object from the form inputs
                d.Name = txtName.Text;
                d.Budget = Convert.ToDecimal(txtBudget.Text);

                if (Request.QueryString.Count == 0)
                {
                    conn.Departments.Add(d);
                }
                conn.SaveChanges();

                //redirect to updated departments page
                Response.Redirect("departments.aspx");
            }
        }
コード例 #2
0
ファイル: department.aspx.cs プロジェクト: ConnorX/lab3
        protected void GetDepartment()
        {
            //connect
            using (DefaultConnection conn = new DefaultConnection())
            {
                //get id from url parameter and store in a variable
                Int32 DepartmentID = Convert.ToInt32(Request.QueryString["DepartmentID"]);

                var d = (from dep in conn.Departments
                         where dep.DepartmentID == DepartmentID
                         select dep).FirstOrDefault();

                //populate the form from our department object
                txtName.Text = d.Name;
                txtBudget.Text = d.Budget.ToString();

                var objC = (from cr in conn.Courses
                            where cr.DepartmentID == DepartmentID
                            select cr);

                grdCourses.DataSource = objC.ToList();
                grdCourses.DataBind();

                //show the course panel
                pnlCourses.Visible = true;
            }
        }
コード例 #3
0
ファイル: course.aspx.cs プロジェクト: ConnorX/lab3
        protected void btnSave_Click(object sender, EventArgs e)
        {
            //do insert or update
            using (DefaultConnection db = new DefaultConnection())
            {
                Course objC = new Course();

                if (!String.IsNullOrEmpty(Request.QueryString["CourseID"]))
                {
                    Int32 CourseID = Convert.ToInt32(Request.QueryString["CourseID"]);
                    objC = (from c in db.Courses
                            where c.CourseID == CourseID
                            select c).FirstOrDefault();
                }

                //populate the course from the input form
                objC.Title = txtTitle.Text;
                objC.Credits = Convert.ToInt32(txtCredits.Text);
                objC.DepartmentID = Convert.ToInt32(ddlDepartment.SelectedValue);

                if (String.IsNullOrEmpty(Request.QueryString["CourseID"]))
                {
                    //add
                    db.Courses.Add(objC);
                }

                //save and redirect
                db.SaveChanges();
                Response.Redirect("courses.aspx");
            }
        }
コード例 #4
0
ファイル: courses.aspx.cs プロジェクト: ConnorX/lab3
        protected void GetCourses()
        {
            using (DefaultConnection db = new DefaultConnection())
            {
                var courses = (from c in db.Courses
                               select new { c.CourseID, c.Title, c.Credits, c.Department.Name });

                //append the current direction to the Sort Column
                String Sort = Session["SortColumn"].ToString() + " " + Session["SortDirection"].ToString();

                grdCourses.DataSource = courses.AsQueryable().OrderBy(Sort).ToList();
                grdCourses.DataBind();
            }
        }
コード例 #5
0
ファイル: courses.aspx.cs プロジェクト: ConnorX/lab3
        protected void grdCourses_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            Int32 CourseID = Convert.ToInt32(grdCourses.DataKeys[e.RowIndex].Values["CourseID"].ToString());

            using (DefaultConnection db = new DefaultConnection())
            {
                Course objC = (from c in db.Courses
                               where c.CourseID == CourseID
                               select c).FirstOrDefault();

                db.Courses.Remove(objC);
                db.SaveChanges();
            }

            GetCourses();
        }
コード例 #6
0
ファイル: department.aspx.cs プロジェクト: ConnorX/lab3
        protected void grdCourses_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            Int32 DepartmentID = Convert.ToInt32(Request.QueryString["DepartmentID"]);

            using (DefaultConnection db = new DefaultConnection())
            {
                Course objC = (from cr in db.Courses
                               where cr.DepartmentID == DepartmentID
                               select cr).FirstOrDefault();

                //process the deletion
                db.Courses.Remove(objC);
                db.SaveChanges();

                //repopulate the page
                GetDepartment();
            }
        }
コード例 #7
0
ファイル: students.aspx.cs プロジェクト: ConnorX/lab3
        protected void GetStudents()
        {
            //connect to EF
            using (DefaultConnection db = new DefaultConnection())
            {

                //query the students table using EF and LINQ
                var Students = from s in db.Students
                               select s;

                String Sort = Session["SortColumn"].ToString() + " " + Session["SortDirection"].ToString();

                //bind the result to the gridview
                grdStudents.DataSource = Students.AsQueryable().OrderBy(Sort).ToList();
                grdStudents.DataBind();

            }
        }
コード例 #8
0
ファイル: student.aspx.cs プロジェクト: ConnorX/lab3
 protected void btnAdd_Click(object sender, EventArgs e)
 {
     using (DefaultConnection db = new DefaultConnection())
     {
         //get values needed
         Int32 StudentID = Convert.ToInt32(Request.QueryString["StudentID"]);
         Int32 CourseID = Convert.ToInt32(ddlCourse.SelectedValue);
         //populate new enrollment object
         Enrollment objE = new Enrollment();
         objE.StudentID = StudentID;
         objE.CourseID = CourseID;
         //save
         db.Enrollments.Add(objE);
         db.SaveChanges();
         //refresh
         GetStudent();
     }
 }
コード例 #9
0
ファイル: course.aspx.cs プロジェクト: ConnorX/lab3
        protected void GetCourse()
        {
            //populate the existing course for editing
            using (DefaultConnection db = new DefaultConnection())
            {
                Int32 CourseID = Convert.ToInt32(Request.QueryString["CourseID"]);

                Course objC = (from c in db.Courses
                               where c.CourseID == CourseID
                               select c).FirstOrDefault();

                //populate the form
                txtTitle.Text = objC.Title;
                txtCredits.Text = objC.Credits.ToString();
                ddlDepartment.SelectedValue = objC.DepartmentID.ToString();

                var objS = (from s in db.Students
                            join en in db.Enrollments on s.StudentID equals en.StudentID
                            join c in db.Courses on en.CourseID equals c.CourseID
                            where en.CourseID == CourseID
                            select new { s.StudentID, s.LastName, s.FirstMidName, s.EnrollmentDate });

                grdStudents.DataSource = objS.ToList();
                grdStudents.DataBind();

                //clear dropdowns
                ddlStudent.ClearSelection();

                var stud = from s in db.Students
                           join en in db.Enrollments on s.StudentID equals en.StudentID
                           join c in db.Courses on en.CourseID equals c.CourseID
                           where c.CourseID != CourseID && en.StudentID == s.StudentID
                           orderby s.LastName
                           select s;

                ddlStudent.DataSource = stud.ToList();
                ddlStudent.DataBind();

                ListItem newItem = new ListItem("-Select-", "0");
                ddlStudent.Items.Insert(0, newItem);
                //show the course panel
                pnlCourses.Visible = true;
            }
        }
コード例 #10
0
ファイル: student.aspx.cs プロジェクト: ConnorX/lab3
        protected void ddlDepartment_SelectedIndexChanged(object sender, EventArgs e)
        {
            using (DefaultConnection db = new DefaultConnection())
            {
                //store selected department id
                Int32 DepartmentID = Convert.ToInt32(ddlDepartment.SelectedValue);

                var objC = from c in db.Courses
                           where c.DepartmentID == DepartmentID
                           orderby c.Title
                           select c;

                //bind to course dropdown
                ddlCourse.DataSource = objC.ToList();
                ddlCourse.DataBind();

                //add default options to drop downs
                ListItem newItem = new ListItem("-Select-", "0");
                ddlCourse.Items.Insert(0, newItem);

            }
        }
コード例 #11
0
ファイル: student.aspx.cs プロジェクト: ConnorX/lab3
        protected void btnSave_Click(object sender, EventArgs e)
        {
            //use EF to connect to SQL Server
            using (DefaultConnection db = new DefaultConnection())
            {

                //use the Student model to save the new record
                Student s = new Student();
                Int32 StudentID = 0;

                //check the querystring for an id so we can determine add / update
                if (Request.QueryString["StudentID"] != null)
                {
                    //get the id from the url
                    StudentID = Convert.ToInt32(Request.QueryString["StudentID"]);

                    //get the current student from EF
                    s = (from objS in db.Students
                         where objS.StudentID == StudentID
                         select objS).FirstOrDefault();
                }

                s.LastName = txtLastName.Text;
                s.FirstMidName = txtFirstMidName.Text;
                s.EnrollmentDate = Convert.ToDateTime(txtEnrollmentDate.Text);

                //call add only if we have no student ID
                if (StudentID == 0)
                {
                    db.Students.Add(s);
                }

                //run the update or insert
                db.SaveChanges();

                //redirect to the updated students page
                Response.Redirect("students.aspx");
            }
        }
コード例 #12
0
ファイル: students.aspx.cs プロジェクト: ConnorX/lab3
        protected void grdStudents_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            //store which row was clicked
            Int32 selectedRow = e.RowIndex;

            //get the selected StudentID using the grid's Data Key collection
            Int32 StudentID = Convert.ToInt32(grdStudents.DataKeys[selectedRow].Values["StudentID"]);

            //use EF to remove the selected student from the db
            using (DefaultConnection db = new DefaultConnection())
            {

                Student s = (from objS in db.Students
                             where objS.StudentID == StudentID
                             select objS).FirstOrDefault();

                //do the delete
                db.Students.Remove(s);
                db.SaveChanges();
            }

            //refresh the grid
            GetStudents();
        }
コード例 #13
0
ファイル: student.aspx.cs プロジェクト: ConnorX/lab3
        protected void GetStudent()
        {
            //populate form with existing student record
            Int32 StudentID = Convert.ToInt32(Request.QueryString["StudentID"]);

            //connect to db via EF
            using (DefaultConnection db = new DefaultConnection())
            {
                //populate a student instance with the StudentID from the URL parameter
                Student s = (from objS in db.Students
                             where objS.StudentID == StudentID
                             select objS).FirstOrDefault();

                //map the student properties to the form controls if we found a match
                if (s != null)
                {
                    txtLastName.Text = s.LastName;
                    txtFirstMidName.Text = s.FirstMidName;
                    txtEnrollmentDate.Text = s.EnrollmentDate.ToString("yyyy-MM-dd");
                }

                //enrollments - this code goes in the same method that populates the student form but below the existing code that's already in GetStudent()
                var objE = (from en in db.Enrollments
                            join c in db.Courses on en.CourseID equals c.CourseID
                            join d in db.Departments on c.DepartmentID equals d.DepartmentID
                            where en.StudentID == StudentID
                            select new { en.EnrollmentID, en.Grade, c.Title, d.Name });

                grdCourses.DataSource = objE.ToList();
                grdCourses.DataBind();

                //clear dropdowns
                ddlDepartment.ClearSelection();
                ddlCourse.ClearSelection();

                //fill departments dropdown
                var deps = from d in db.Departments
                           orderby d.Name
                           select d;

                ddlDepartment.DataSource = deps.ToList();
                ddlDepartment.DataBind();

                //add default options to drop downs
                ListItem newItem = new ListItem("-Select-", "0");
                ddlDepartment.Items.Insert(0, newItem);
                ddlCourse.Items.Insert(0, newItem);

                //show the course panel
                pnlCourses.Visible = true;
            }
        }
コード例 #14
0
ファイル: student.aspx.cs プロジェクト: ConnorX/lab3
        protected void grdCourses_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            //get the slected enrollmentID
            Int32 EnrollmentID = Convert.ToInt32(grdCourses.DataKeys[e.RowIndex].Values["EnrollmentID"]);

            using (DefaultConnection db = new DefaultConnection())
            {
                Enrollment objE = (from en in db.Enrollments
                                   where en.EnrollmentID == EnrollmentID
                                   select en).FirstOrDefault();

                //process the deletion
                db.Enrollments.Remove(objE);
                db.SaveChanges();

                //repopulate the page
                GetStudent();
            }
        }
コード例 #15
0
ファイル: course.aspx.cs プロジェクト: ConnorX/lab3
        protected void grdStudents_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            Int32 CourseID = Convert.ToInt32(Request.QueryString["CourseID"]);
            using (DefaultConnection db = new DefaultConnection())
            {
                Enrollment objE = (from en in db.Enrollments
                                   where en.CourseID == CourseID
                                   select en).FirstOrDefault();

                //process the deletion
                db.Enrollments.Remove(objE);
                db.SaveChanges();

                //repopulate the page
                GetCourse();
            }
        }
コード例 #16
0
ファイル: course.aspx.cs プロジェクト: ConnorX/lab3
        protected void GetDepartments()
        {
            using (DefaultConnection db = new DefaultConnection())
            {
                var deps = (from d in db.Departments
                            orderby d.Name
                            select d);

                ddlDepartment.DataSource = deps.ToList();
                ddlDepartment.DataBind();
            }
        }