Пример #1
0
        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));
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }
Пример #4
0
        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));
        }
Пример #5
0
        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));
        }