public static AnnouncementShortGradeViewData Create(AnnouncementComplex announcementComplex, IList <ClaimInfo> claims, int?studentGrade = null) { var annData = announcementComplex.ClassAnnouncementData; return(new AnnouncementShortGradeViewData(annData, claims) { GradedStudentCount = announcementComplex.GradingStudentsCount, Grade = studentGrade }); }
protected string GetCategoryName(AnnouncementComplex announcement) { if (announcement.ClassAnnouncementData != null) { return(announcement.ClassAnnouncementData.ClassAnnouncementTypeName); } if (announcement.LessonPlanData != null) { return(announcement.LessonPlanData.CategoryName); } return(announcement.SupplementalAnnouncementData?.ClassAnnouncementTypeName); }
private static IList <Pair <Person, int> > PrepareOrderedStudents(AnnouncementComplex announcement) { var resipients = announcement.SupplementalAnnouncementData?.Recipients; if (resipients == null) { return(new List <Pair <Person, int> >()); } int order = 0; return(resipients.Select(recipient => new Pair <Person, int>(recipient, order++)).ToList()); }
public static StudentClassExplorerInfo Create(Class classInfo, decimal?avg, IList <StandardScore> standardScores , IList <Standard> standards, AnnouncementComplex importantAnnouncement) { var res = new StudentClassExplorerInfo { ClassInfo = classInfo, MostImportantAnnouncement = importantAnnouncement, Avg = avg, Standards = OrderGradingStandards(GradingStandardInfo.Create(standardScores, standards)) }; return(res); }
protected string GetTypeName(AnnouncementComplex announcement) { switch (announcement.Type) { case AnnouncementTypeEnum.Class: return("Assignment"); case AnnouncementTypeEnum.LessonPlan: return("Lesson Plan"); case AnnouncementTypeEnum.Supplemental: return("Supplemental"); case AnnouncementTypeEnum.Admin: return("Admin Announcement"); } return(null); }
private bool CanAttach(AnnouncementComplex ann) { //TODO: rewrite this method later int?classId = null; if (ann.ClassAnnouncementData != null) { classId = ann.ClassAnnouncementData.ClassRef; } if (ann.LessonPlanData != null) { classId = ann.LessonPlanData.ClassRef; } return(AnnouncementSecurity.CanModifyAnnouncement(ann, Context) || (classId.HasValue && ((DemoClassService)ServiceLocator.ClassService).ClassPersonExists(classId.Value, Context.PersonId))); }
protected AnnouncementViewData(AnnouncementComplex announcement, IList <ClaimInfo> claims) : this(announcement.AnnouncementData, claims) { AttachmentsCount = announcement.AttachmentsCount; AttachmentNames = announcement.AttachmentNames; OwnerAttachmentsCount = announcement.OwnerAttachmentsCount; Complete = announcement.Complete; var content = announcement.Content ?? ""; ShortContent = StringTools.BuildShortText(content, SHORT_LENGHT); var studentsCounts = announcement.StudentsCount; StudentsCountWithAttachments = announcement.StudentsCountWithAttachments; StudentsCountWithoutAttachments = studentsCounts - StudentsCountWithAttachments; GradingStudentsCount = announcement.GradingStudentsCount; ApplicationsCount = announcement.ApplicationCount; ShowGradingIcon = studentsCounts > 0 && StudentsCountWithAttachments * 4 > studentsCounts || GradingStudentsCount > 0; }
protected ShortFeedExportModel(Person person, string schoolName, string sy, DateTime nowSchoolTime, DateTime?fromReport, DateTime?toReport, ClassDetails c, IList <DayType> dayTypes, IList <Staff> teachers , AnnouncementComplex announcement, Standard standard, int?standardNumber = null) : this(person, schoolName, sy, nowSchoolTime, fromReport, toReport) { if (c != null) { ClassId = c.Id; ClassName = c.Name; ClassNumber = c.ClassNumber; if (c.PrimaryTeacherRef.HasValue) { PersonFirstName = c.PrimaryTeacher.FirstName; PersonLastName = c.PrimaryTeacher.LastName; Owners = BuildTeachersNames(c.PrimaryTeacherRef.Value, c.ClassTeachers, teachers); } DayTypes = dayTypes.Where(x => c.ClassPeriods.Any(y => y.DayTypeRef == x.Id)) .Select(x => x.Name.ToString()) .Distinct() .JoinString(","); Periods = c.ClassPeriods.Select(x => x.Period.Name).Distinct().JoinString(","); } AnnouncementId = announcement.Id; AnnouncementName = announcement.Title; AnnouncementType = GetTypeName(announcement); CategoryName = GetCategoryName(announcement); Complete = announcement.Complete; HasStandards = announcement.StandardsCount > 0; HasAttachments = announcement.AttachmentNames.Count + announcement.ApplicationCount > 0; if (announcement.ClassAnnouncementData != null) { StartDate = null; EndDate = announcement.ClassAnnouncementData.Expires; IsHidden = !announcement.ClassAnnouncementData.VisibleForStudent; TotalPoint = (double?)announcement.ClassAnnouncementData.MaxScore; } if (announcement.LessonPlanData != null) { StartDate = announcement.LessonPlanData.StartDate; EndDate = announcement.LessonPlanData.EndDate; IsHidden = !announcement.LessonPlanData.VisibleForStudent; } if (announcement.SupplementalAnnouncementData != null) { StartDate = null; EndDate = announcement.SupplementalAnnouncementData.Expires; IsHidden = !announcement.SupplementalAnnouncementData.VisibleForStudent; } var adminAnn = announcement.AdminAnnouncementData; if (adminAnn != null) { //TODO: Add to model first and last admin name string adminFirstName = null, adminLastName = null; if (adminAnn.AdminName != null) { string[] words = adminAnn.AdminName.Split(new [] { ' ' }, StringSplitOptions.RemoveEmptyEntries); adminFirstName = words[0]; if (words.Count() > 1) { adminLastName = words[1]; } } EndDate = adminAnn.Expires; IsAdminAnnouncement = true; Owners = NameHelper.FullName(adminFirstName ?? "", adminLastName ?? "", "", false, adminAnn.AdminGender); PersonFirstName = adminLastName; PersonLastName = adminLastName; AdminId = announcement.AdminRef; } if (standard != null) { StandardId = standard.Id; StandardName = standard.Name; StandardNumber = standardNumber; } }
public Notification BuildAnnouncementReminderNotification(DateTime created, AnnouncementComplex announcement, Person recipient) { return(BuildNotificationFromTemplate(NotificationTemplateProvider.ANNOUNCEMENT_REMINDER_NOTIFICATION, NotificationType.Announcement, recipient, announcement, null, null, null, null, new { AnnouncementTitle = announcement.Title })); }
private AnnouncementDetailedViewData(AnnouncementComplex announcement, IList <ClaimInfo> claims) : base(announcement, claims) { }
protected abstract TAnnouncement ReadAnnouncementData(AnnouncementComplex announcement, SqlDataReader reader);
protected AnnouncementViewData(AnnouncementComplex announcement, IList <StudentAnnouncement> studentAnnouncements, IList <ClaimInfo> claims) : this(announcement, claims) { PrepareGradingInfo(this, studentAnnouncements); }
public Notification BuildAnnouncementAnswerToPersonNotifiaction(DateTime created, AnnouncementQnAComplex announcementQnA, AnnouncementComplex announcement) { return(BuildNotificationFromTemplate(NotificationTemplateProvider.ANNOUNCEMENT_NOTIFICATION_ANSWER_TO_PERSON, NotificationType.Announcement, announcementQnA.Asker, announcement, null, null, null, announcementQnA.Answerer, new { announcement.AnnouncementTypeName, AnnouncementTitle = announcement.Title, PersonQuestion = StringTools.BuildShortText(announcementQnA.Question, 40), AnswererName = announcementQnA.Answerer.DisplayName() })); }
public Notification BuildAnnouncementQnToAuthorNotifiaction(DateTime created, AnnouncementQnAComplex announcementQnA, AnnouncementComplex announcement, Person answerer) { return(BuildNotificationFromTemplate(NotificationTemplateProvider.ANNOUNCEMENT_QUESTION_NOTIFICATION_TOAUTHOR, NotificationType.Question, answerer, announcement, null, null, null, announcementQnA.Asker, new { announcement.AnnouncementTypeName, PersonQuestion = StringTools.BuildShortText(announcementQnA.Question, 35), AnnouncementTitle = announcement.Title, AskerName = announcementQnA.Asker.DisplayName() })); }
protected override ClassAnnouncement ReadAnnouncementData(AnnouncementComplex announcement, SqlDataReader reader) { var res = reader.Read <ClassAnnouncement>(); return(res); }
public static AnnouncementDetailedViewData CreateEmpty(AnnouncementComplex announcement, IList <ClaimInfo> claims) { return(new AnnouncementDetailedViewData(announcement, claims)); }
protected override AdminAnnouncement ReadAnnouncementData(AnnouncementComplex announcement, SqlDataReader reader) { return(reader.Read <AdminAnnouncement>()); }
protected override LessonPlan ReadAnnouncementData(AnnouncementComplex announcement, SqlDataReader reader) { return(reader.Read <LessonPlan>()); }
//TODO: implement builders public Notification BuildAnnouncementNewAttachmentNotification(DateTime created, AnnouncementComplex announcement, Person recipient) { return(BuildNotificationFromTemplate(NotificationTemplateProvider.ANNOUNCEMENT_NEW_ATTACHMENT_NOTIFICATION, NotificationType.Announcement, recipient, announcement, null, null, null, null, new { AnnouncementTitle = announcement.Title, AnnouncementType = GetAnnouncementType(announcement.Type) })); }