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