Beispiel #1
0
        public void DeleteStudentAnnouncements(int announcementId, int sisActivityId)
        {
            var scores = ActivityScoreStorage.GetSores(sisActivityId);

            ActivityScoreStorage.Delete(scores);
            var studentAnnouncements = StudentAnnouncementStorage.GetAll()
                                       .Where(x => x.AnnouncementId == announcementId)
                                       .ToList();

            StudentAnnouncementStorage.Delete(studentAnnouncements);
        }
Beispiel #2
0
        public IList <StudentAnnouncementDetails> GetStudentAnnouncements(int announcementId)
        {
            Trace.Assert(Context.PersonId.HasValue);
            Trace.Assert(Context.SchoolYearId.HasValue);
            var ann = ServiceLocator.ClassAnnouncementService.GetClassAnnouncemenById(announcementId);
            var mp  = ServiceLocator.MarkingPeriodService.GetMarkingPeriodByDate(ann.Expires, true);

            Trace.Assert(mp != null);
            if (ann.SisActivityId.HasValue)
            {
                IList <Score>   scores  = new List <Score>();
                IList <Student> persons = new List <Student>();
                if (CoreRoles.STUDENT_ROLE == Context.Role)
                {
                    scores.Add(ActivityScoreStorage.GetScore(ann.SisActivityId.Value, Context.PersonId.Value));
                    persons.Add(ServiceLocator.StudentService.GetById(Context.PersonId.Value, Context.SchoolYearId.Value));
                }
                else
                {
                    scores  = ActivityScoreStorage.GetSores(ann.SisActivityId.Value);
                    persons = ServiceLocator.StudentService.GetClassStudents(ann.ClassRef, mp.Id);
                }
                var res = new List <StudentAnnouncementDetails>();
                foreach (var score in scores)
                {
                    var stAnn = new StudentAnnouncementDetails
                    {
                        ClassId        = ann.ClassRef,
                        Student        = persons.First(x => x.Id == score.StudentId),
                        AnnouncementId = ann.Id
                    };
                    MapperFactory.GetMapper <StudentAnnouncementDetails, Score>().Map(stAnn, score);
                    res.Add(stAnn);
                }
                return(res);
            }
            throw new ChalkableException("Current announcement is not in Inow ");
        }