private IEnumerable <KeyValuePair <string, string> > GetReportLevelFields(MarkingPeriodKey period) { var thisQuarter = MarkingPeriods.Singleton.Find(period); var thisYear = new MarkingYear(thisQuarter); // TODO absence in Demo // TODONE need year to date attendance // TODO need to show grades for 1-4 when showing 4th quarter // TODO need to show not show quarters in drop down for past var absentThisQuarter = _student.DaysAttendance(thisQuarter, AttendanceStatus.Absent); int absentThisYear = _student.DaysAttendance(thisYear, AttendanceStatus.Absent); var tardyThisQuarter = _student.DaysAttendance(thisQuarter, AttendanceStatus.Tardy); int tardyThisYear = _student.DaysAttendance(thisYear, AttendanceStatus.Tardy); return(new[] { new KeyValuePair <string, string>( "StudentAddress", _student.AddressLine1 + "\n" + _student.AddressLine2), new KeyValuePair <string, string>( "SchoolYear", String.Format("{0:MMM dd, yyyy} - {1:MMM dd, yyyy}", thisYear.StartDate, thisYear.EndDate)), new KeyValuePair <string, string>( "SchoolYearAttendance", String.Format("{0} - {1}", thisYear.StartDate.Year, thisYear.EndDate.Year)), new KeyValuePair <string, string>( "QTR1", thisQuarter.DaysIn.ToString()), new KeyValuePair <string, string>( "YR1", thisYear.DaysIn.ToString()), new KeyValuePair <string, string>( "QTR2", absentThisQuarter.ToString()), new KeyValuePair <string, string>( "YR2", absentThisYear.ToString()), new KeyValuePair <string, string>( "QTR3", tardyThisQuarter.ToString()), new KeyValuePair <string, string>( "YR3", tardyThisYear.ToString()), new KeyValuePair <string, string>( "MarkingPeriod", period.QuarterString), new KeyValuePair <string, string>( "QtrEnding", thisQuarter != null ? thisQuarter.EndDate.ToShortDateString() : "N/A") }); }
private void btnHonorRoll_Click(object sender, RoutedEventArgs e) { var sfd = new SaveFileDialog(); sfd.DefaultExt = ".csv"; sfd.Filter = "CSV files|*.csv|All Files|*.*"; if (sfd.ShowDialog() != true) { return; } var outs = new List <string>(); foreach (var mp in MarkingPeriods.Singleton.OrderByDescending(m => m.StartDate)) { //var mp = MarkingPeriod.Current; var students = _gradebook.Students.Where(s => s.HonorRoll(mp)).OrderByDescending(s => s.Gpa(mp)); outs.AddRange(AddHonorRollLines(mp, students)); if (outs.Count() == 0) { continue; } outs.Insert(0, "=For Quarter="); var year = new MarkingYear(mp); outs.Add("=For Year To Date="); outs.AddRange(AddHonorRollLines(year, students)); ViewUtils.WriteAndOpen(sfd.FileName, outs); //ViewUtils.Mail("", "Honor Roll " + mp + " " + DateTime.Now, string.Join(Environment.NewLine, outs.ToArray())); return; } MessageBox.Show("No honor roll found."); }
private void btnHonorRoll_Click(object sender, RoutedEventArgs e) { var sfd = new SaveFileDialog(); sfd.DefaultExt = ".csv"; sfd.Filter = "CSV files|*.csv|All Files|*.*"; if (sfd.ShowDialog() != true) return; var outs = new List<string>(); foreach (var mp in MarkingPeriods.Singleton.OrderByDescending(m => m.StartDate)) { //var mp = MarkingPeriod.Current; var students = _gradebook.Students.Where(s => s.HonorRoll(mp)).OrderByDescending(s => s.Gpa(mp)); outs.AddRange(AddHonorRollLines(mp, students)); if (outs.Count() == 0) continue; outs.Insert(0, "=For Quarter="); var year = new MarkingYear(mp); outs.Add("=For Year To Date="); outs.AddRange(AddHonorRollLines(year, students)); ViewUtils.WriteAndOpen(sfd.FileName, outs); //ViewUtils.Mail("", "Honor Roll " + mp + " " + DateTime.Now, string.Join(Environment.NewLine, outs.ToArray())); return; } MessageBox.Show("No honor roll found."); }