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; }
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); } } }