Beispiel #1
0
        protected void SubmitBtn_Click(object sender, EventArgs e)
        {
            using (WebhostEntities db = new WebhostEntities())
            {
                int apid = LoadedId == -1 ? (db.APRequests.Count() > 0 ? db.APRequests.OrderBy(ap => ap.id).ToList().Last().id + 1 : 0) : LoadedId;

                APRequest req = new APRequest();
                if (LoadedId != -1)
                {
                    req = db.APRequests.Where(ap => ap.id == LoadedId).Single();
                }
                else
                {
                    req.id = apid;

                    req.CourseRequestId = Convert.ToInt32(CourseRequestDDL.SelectedValue);
                }

                req.Sections.Clear();
                req.ApprovalId       = Convert.ToInt32(ApprovalDDL.SelectedValue);
                req.TeacherSignedBy  = Convert.ToInt32(CurrentTeacherDDL.SelectedValue);
                req.DeptHeadSignedBy = Convert.ToInt32(DeptHeadDDL.SelectedValue);
                if (CurrentCourseDDL.SelectedIndex >= 0)
                {
                    int secid = Convert.ToInt32(CurrentCourseDDL.SelectedValue);
                    req.Sections.Add(db.Sections.Where(s => s.id == secid).Single());
                }

                if (SecondaryCourseDDL.SelectedIndex >= 0)
                {
                    int secid = Convert.ToInt32(SecondaryCourseDDL.SelectedValue);
                    req.Sections.Add(db.Sections.Where(s => s.id == secid).Single());
                }

                if (LoadedId == -1)
                {
                    db.APRequests.Add(req);
                }

                db.SaveChanges();

                SelectStudent_Click(sender, e);
            }
        }
        /// <summary>
        /// Get a human readable course request overview in a CSV formatted spreadsheet.
        /// </summary>
        /// <param name="termId">WebhostEntities.Term.id</param>
        /// <returns></returns>
        public static CSV ForExcel(int termId)
        {
            CSV csv = new CSV();

            using (WebhostEntities db = new WebhostEntities())
            {
                List<CourseRequest> thistermreqs =
                    db.CourseRequests.Where(c => c.TermId == termId && 
                        !c.RequestableCourse.Course.BlackBaudID.Equals("NONE")).OrderBy(c => c.RequestableCourse.Course.DepartmentID).ThenBy(c => c.RequestableCourse.Course.Name).ToList();

                Term term = db.Terms.Find(termId);

                int ptid = DateRange.GetCurrentOrLastTerm();

                foreach (CourseRequest cr in thistermreqs)
                {
                    Dictionary<String, String> row = new Dictionary<string, string>()
                    {
                        {"Student", String.Format("{0} {1}", cr.Student.FirstName, cr.Student.LastName)},
                        {"Grade", gradeLevels(term.AcademicYearID)[cr.Student.GraduationYear]},
                        {"Course", cr.RequestableCourse.Course.Name.Replace(",", "")},
                        {"Department", cr.RequestableCourse.Course.Department.Name},
                        {"Priority", cr.IsSecondary || cr.IsGlobalAlternate?"Alternate":""},
                        {"Advisor", String.Format("{0} {1}", cr.Student.Advisor.FirstName, cr.Student.Advisor.LastName)}
                    };

                    if(cr.RequestableCourse.Course.Name.Contains("AP"))
                    {
                        if (cr.APRequests.Count <= 0) row.Add("AP Form Submitted", "No");
                        else
                        {
                            row.Add("AP Form Submitted", "Yes");
                            APRequest req = cr.APRequests.FirstOrDefault();
                            foreach(Section section in req.Sections.ToList())
                            {
                                try
                                {
                                    row.Add(String.Format("{0} Course", section.Course.Department.Name), section.Course.Name);
                                    if (cr.Student.StudentComments.Where(com => com.CommentHeader.SectionIndex == section.id && com.CommentHeader.TermIndex == ptid).Count() > 0)
                                    {
                                        StudentComment comment = cr.Student.StudentComments.Where(com => com.CommentHeader.SectionIndex == section.id && com.CommentHeader.TermIndex == ptid).Single();
                                        row.Add(String.Format("{0} Grade", section.Course.Department.Name), comment.FinalGrade.Name);
                                    }
                                    else
                                    {
                                        row.Add(String.Format("{0} Grade", section.Course.Department.Name), "Not Submitted");
                                    }
                                }
                                catch(Exception e)
                                {
                                    State.log.WriteLine(e.Message);
                                }
                            }

                            row.Add("Teacher Signed", String.Format("{0} {1}", req.Teacher.FirstName, req.Teacher.LastName));
                            row.Add("Dept Head Signed", String.Format("{0} {1}", req.DepartmentHead.FirstName, req.DepartmentHead.LastName));
                            row.Add("Approval", req.GradeTableEntry.Name);
                        }
                    }

                    csv.Add(row);
                }
            }

            return csv;
        }
Beispiel #3
0
        protected void SelectCR_Click(object sender, EventArgs e)
        {
            using (WebhostEntities db = new WebhostEntities())
            {
                LoadedId = -1;
                int crid = Convert.ToInt32(CourseRequestDDL.SelectedValue);
                WebhostMySQLConnection.CourseRequest courseRequest = db.CourseRequests.Where(cr => cr.id == crid).Single();

                RequestedCourseName.Text = courseRequest.RequestableCourse.Course.Name;


                int     sid     = Convert.ToInt32(StudentSelectDDL.SelectedValue);
                Student student = db.Students.Where(s => s.ID == sid).Single();

                int        termId         = DateRange.GetCurrentOrLastTerm();
                List <int> currentClasses = student.Sections.Where(sec => sec.Terms.Select(t => t.id).Contains(termId)).Select(sec => sec.id).ToList();
                CurrentCourseDDL.DataSource     = SectionListItem.GetDataSource(currentClasses);
                CurrentCourseDDL.DataTextField  = "Text";
                CurrentCourseDDL.DataValueField = "ID";
                CurrentCourseDDL.DataBind();


                SecondaryCourseDDL.DataSource     = SectionListItem.GetDataSource(currentClasses);
                SecondaryCourseDDL.DataTextField  = "Text";
                SecondaryCourseDDL.DataValueField = "ID";
                SecondaryCourseDDL.DataBind();

                int year = DateRange.GetCurrentAcademicYear();

                GradeTable stdaf = db.GradeTables.Where(gt => gt.AcademicYearID == year && gt.Name.Equals("Standard A-F Scale")).Single();

                CurrentCourseGradeDDL.DataSource     = stdaf.GradeTableEntries.ToList();
                CurrentCourseGradeDDL.DataTextField  = "Name";
                CurrentCourseGradeDDL.DataValueField = "id";
                CurrentCourseGradeDDL.DataBind();

                SecondaryCourseGradeDDL.DataSource     = stdaf.GradeTableEntries.ToList();
                SecondaryCourseGradeDDL.DataTextField  = "Name";
                SecondaryCourseGradeDDL.DataValueField = "id";
                SecondaryCourseGradeDDL.DataBind();

                List <int> facultyIds = db.Faculties.Select(f => f.ID).ToList();

                CurrentTeacherDDL.DataSource     = FacultyListItem.GetDataSource(facultyIds);
                CurrentTeacherDDL.DataTextField  = "Text";
                CurrentTeacherDDL.DataValueField = "ID";
                CurrentTeacherDDL.DataBind();

                DeptHeadDDL.DataSource     = FacultyListItem.GetDataSource(facultyIds);
                DeptHeadDDL.DataTextField  = "Text";
                DeptHeadDDL.DataValueField = "ID";
                DeptHeadDDL.DataBind();

                GradeTable approval = db.GradeTables.Where(gt => gt.AcademicYearID == year && gt.Name.Equals("AP Approval")).Single();

                ApprovalDDL.DataSource     = approval.GradeTableEntries.ToList();
                ApprovalDDL.DataTextField  = "Name";
                ApprovalDDL.DataValueField = "id";
                ApprovalDDL.DataBind();

                ApprovalPanel.Visible = true;

                if (courseRequest.APRequests.Count > 0)
                {
                    APRequest apcr = courseRequest.APRequests.FirstOrDefault();
                    LoadedId = apcr.id;
                    if (apcr.Sections.Count > 0)
                    {
                        List <Section> secs = apcr.Sections.ToList();
                        CurrentCourseDDL.ClearSelection();
                        CurrentCourseDDL.SelectedValue = Convert.ToString(secs[0].id);
                        if (student.StudentComments.Where(com => com.CommentHeader.SectionIndex == secs[0].id && com.CommentHeader.TermIndex == termId).Count() > 0)
                        {
                            StudentComment comment = student.StudentComments.Where(com => com.CommentHeader.SectionIndex == secs[0].id && com.CommentHeader.TermIndex == termId).Single();
                            CurrentCourseGradeDDL.ClearSelection();
                            CurrentCourseGradeDDL.SelectedValue = Convert.ToString(comment.FinalGradeID);
                        }
                        if (secs.Count > 1)
                        {
                            SecondaryCourseDDL.ClearSelection();
                            SecondaryCourseDDL.SelectedValue = Convert.ToString(secs[1].id);
                            if (student.StudentComments.Where(com => com.CommentHeader.SectionIndex == secs[1].id && com.CommentHeader.TermIndex == termId).Count() > 0)
                            {
                                StudentComment comment = student.StudentComments.Where(com => com.CommentHeader.SectionIndex == secs[1].id && com.CommentHeader.TermIndex == termId).Single();
                                SecondaryCourseGradeDDL.ClearSelection();
                                SecondaryCourseGradeDDL.SelectedValue = Convert.ToString(comment.FinalGradeID);
                            }
                        }
                    }

                    CurrentTeacherDDL.ClearSelection();
                    CurrentTeacherDDL.SelectedValue = Convert.ToString(apcr.TeacherSignedBy);

                    DeptHeadDDL.ClearSelection();
                    DeptHeadDDL.SelectedValue = Convert.ToString(apcr.DeptHeadSignedBy);

                    ApprovalDDL.ClearSelection();
                    ApprovalDDL.SelectedValue = Convert.ToString(apcr.ApprovalId);
                }
            }
        }