public ActionResult ListByDateRange(DateTime?startDate, DateTime?endDate, int?classId) { //todo : investigate where this method is used var annList = SchoolLocator.AnnouncementFetchService.GetAnnouncementComplexList(startDate, endDate, false, classId, filterByStartDate: false); var res = new List <AnnouncementViewData>(); res.AddRange(annList.LessonPlans.Select(x => AnnouncementViewData.Create(x, Context.Claims))); res.AddRange(annList.ClassAnnouncements.Select(x => AnnouncementViewData.Create(x, Context.Claims))); res.AddRange(annList.AdminAnnouncements.Select(x => AnnouncementViewData.Create(x, Context.Claims))); return(Json(res)); }
public static GradingStudentSummaryViewData Create(IList <AnnouncementComplex> announcements, IList <StudentGradeAvgPerDate> studentStats, IList <ClaimInfo> claims) { var res = new GradingStudentSummaryViewData { Announcements = AnnouncementViewData.Create(announcements, claims) }; if (studentStats != null) { res.TotalAvgPerDate = studentStats.Select(GradingStatsByDateViewData.Create).ToList(); res.PeersAvgPerDate = studentStats.Select(x => GradingStatsByDateViewData.Create(x.Date, x.PeersAvg)).ToList(); } return(res); }
public ActionResult CloneAttachment(int originalAttachmentId, int announcementId, int announcementType) { EnsureAnnouncementExsists(announcementId, announcementType); //var annAtt = SchoolLocator.AnnouncementAttachmentService.GetAnnouncementAttachmentById(originalAttachmentId); var attContentInfo = SchoolLocator.AttachementService.GetAttachmentContent(originalAttachmentId); //SchoolLocator.AttachementService.GetAttachmentContent(annAtt.AttachmentRef); if (attContentInfo != null) //&& announcementId == annAtt.AnnouncementRef) { byte[] bin = attContentInfo.Content; string name = attContentInfo.Attachment.Name; SchoolLocator.AnnouncementAttachmentService.UploadAttachment(announcementId, (AnnouncementTypeEnum)announcementType, bin, name); } AnnouncementViewData res = PrepareFullAnnouncementViewData(announcementId, (AnnouncementTypeEnum)announcementType, true); return(Json(res)); }
public async Task <ActionResult> StudentClassGradingByStandard(int classId, int gradingPeriodId, int standardId, int studentId) { var gp = SchoolLocator.GradingPeriodService.GetGradingPeriodById(gradingPeriodId); var gradeBookTask = SchoolLocator.GradingStatisticService.GetGradeBook(classId, gp, standardId, null, false); var supplementals = SchoolLocator.SupplementalAnnouncementService.GetSupplementalAnnouncements(gp.StartDate, gp.EndDate, classId, studentId, null, standardId); var lessonPlans = SchoolLocator.LessonPlanService.GetLessonPlans(gp.StartDate, gp.EndDate, classId, studentId, null, true, standardId); var gradeBook = await gradeBookTask; var res = new List <AnnouncementViewData>(); var stAnns = gradeBook.Announcements.SelectMany(x => x.StudentAnnouncements) .Where(x => x.StudentId == studentId).ToList(); res.AddRange(AnnouncementViewData.Create(gradeBook.Announcements, stAnns)); res.AddRange(lessonPlans.Select(x => AnnouncementViewData.Create(x, new List <ClaimInfo>()))); res.AddRange(supplementals.Select(x => AnnouncementViewData.Create(x, new List <ClaimInfo>()))); return(Json(res)); }
public static IList <AnnouncementViewData> PrepareAnnouncementsComplexViewData(IServiceLocatorSchool schoolL, IList <AnnouncementComplex> announcements) { if (DemoUserService.IsDemoUser(schoolL.Context)) { announcements = announcements.Where(x => x.State == AnnouncementState.Created).Take(10).ToList(); } var annsIdsWithApp = announcements.Where(x => x.ApplicationCount == 1).Select(x => x.Id).ToList(); var annApps = schoolL.ApplicationSchoolService.GetAnnouncementApplicationsByAnnIds(annsIdsWithApp, true); var apps = schoolL.ServiceLocatorMaster.ApplicationService.GetApplicationsByIds(annApps.Select(x => x.ApplicationRef).ToList()); annApps = annApps.Where(x => apps.Any(a => a.Id == x.ApplicationRef)).ToList(); var stAnns = announcements.Where(x => x.CurrentStudentScore != null).Select(x => { StudentAnnouncement res = x.CurrentStudentScore; return(res); }).ToList(); return(AnnouncementViewData.Create(announcements, annApps, apps, schoolL.Context.Claims, stAnns)); }