private AnnouncementDetailedViewData(AnnouncementDetails announcementDetails, IList <StudentAnnouncement> studentAnnouncements, IList <ClaimInfo> claims) : base(announcementDetails, studentAnnouncements, claims) { if (announcementDetails.AnnouncementQnAs != null) { AnnouncementQnAs = AnnouncementQnAViewData.Create(announcementDetails.AnnouncementQnAs); } if (announcementDetails.Owner != null) { Owner = ShortPersonViewData.Create(announcementDetails.Owner); } if (announcementDetails.AnnouncementStandards != null) { Standards = StandardViewData.Create(announcementDetails.AnnouncementStandards); } if (announcementDetails.AnnouncementApplications == null) { return; } Exempt = studentAnnouncements.Count > 0 && studentAnnouncements.All(x => x.Exempt); CanRemoveStandard = studentAnnouncements.Count == 0 || studentAnnouncements.All(x => string.IsNullOrEmpty(x.ScoreValue)); }
public static HomeroomViewData Create(Homeroom homeroom) { return(new HomeroomViewData(homeroom.Id, homeroom.Name) { Teacher = homeroom.Teacher != null?ShortPersonViewData.Create(homeroom.Teacher) : null }); }
public static IncomePrivateMessageViewData Create(IncomePrivateMessage message) { return(new IncomePrivateMessageViewData(message) { Read = message.Read, DeletedByRecipient = message.DeletedByRecipient, Sender = ShortPersonViewData.Create(message.Sender) }); }
public static SearchViewData Create(Person person) { return(new PersonSearchViewData { Description = person.FullName(), Id = person.Id.ToString(), SearchType = (int)SearchTypeEnum.Persons, ShortPersonInfo = ShortPersonViewData.Create(person) }); }
public NotificationViewData Build(NotificationDetails notification) { if (notification.Type != NotificationType.Message) { throw new ChalkableException(ChlkResources.ERR_INVALID_NOTIFICATION_BUILDER_FOR_TYPE); } var res = new NotificationViewData(notification) { Person = ShortPersonViewData.Create(notification.PrivateMessage.Sender) }; return(res); }
public async Task <ActionResult> Summary(int schoolPersonId) { Trace.Assert(Context.PersonId.HasValue); Trace.Assert(Context.SchoolYearId.HasValue); if (SchoolLocator.Context.PersonId != schoolPersonId && SchoolLocator.Context.Role == CoreRoles.STUDENT_ROLE) { var student = SchoolLocator.PersonService.GetPerson(schoolPersonId); return(Json(ShortPersonViewData.Create(student))); } var studentHealths = SchoolLocator.StudentService.GetStudentHealthConditions(schoolPersonId); var currentSchoolYear = SchoolLocator.SchoolYearService.GetCurrentSchoolYearByStudent(schoolPersonId); var healthFormsTask = SchoolLocator.StudentService.GetStudentHealthForms(schoolPersonId, currentSchoolYear.Id); var studentSummaryInfoTask = SchoolLocator.StudentService.GetStudentSummaryInfo(schoolPersonId, currentSchoolYear.Id); var customAlerts = SchoolLocator.StudentCustomAlertDetailService.GetList(schoolPersonId); var classes = SchoolLocator.ClassService.GetStudentClasses(currentSchoolYear.Id, schoolPersonId).ToList(); var classPersons = SchoolLocator.ClassService.GetClassPersons(schoolPersonId, true); classes = classes.Where(x => classPersons.Any(y => y.ClassRef == x.Id)).ToList(); var schedule = SchoolLocator.ClassPeriodService.GetSchedule(null, schoolPersonId, null, Context.NowSchoolYearTime.Date, Context.NowSchoolYearTime.Date); var classIdsSortedBySchedule = schedule.OrderBy(si => si.PeriodOrder).Select(si => si.ClassId).Distinct().ToList(); var classList = classIdsSortedBySchedule.Where(x => x.HasValue && classes.Any(y => y.Id == x.Value)) .Select(sortedClassRef => classes.First(cls => cls.Id == sortedClassRef)).ToList(); classList.AddRange(classes.Where(cls => !classIdsSortedBySchedule.Contains(cls.Id))); Room currentRoom = null; ClassDetails currentClass = null; var studentSummaryInfo = await studentSummaryInfoTask; if (studentSummaryInfo.CurrentSectionId.HasValue) { currentClass = classes.FirstOrDefault(x => x.Id == studentSummaryInfo.CurrentSectionId.Value); if (currentClass?.RoomRef != null) { currentRoom = SchoolLocator.RoomService.GetRoomById(currentClass.RoomRef.Value); } } var res = StudentSummaryViewData.Create(studentSummaryInfo, currentRoom, currentClass, classList, customAlerts, await studentHealths, await healthFormsTask, BaseSecurity.IsStudent(Context)); return(Json(res)); }
protected ClassViewData(ClassDetails classComplex) : base(classComplex) { DepartmentId = classComplex.ChalkableDepartmentRef; if (classComplex.PrimaryTeacherRef.HasValue && classComplex.PrimaryTeacher != null) { Teacher = ShortPersonViewData.Create(classComplex.PrimaryTeacher); Teacher.DisplayName = classComplex.PrimaryTeacher.DisplayName(); } if (classComplex.SchoolYear != null) { SchoolYear = SchoolYearViewData.Create(classComplex.SchoolYear); } MarkingPeriodsId = classComplex.MarkingPeriodClasses.Select(x => x.MarkingPeriodRef).ToList(); TeachersIds = classComplex.ClassTeachers.Select(x => x.PersonRef).ToList(); }
public static AnnouncementCommentViewData Create(AnnouncementComment announcementComment, IList <AttachmentInfo> attachments, int currentPersonId) { return(new AnnouncementCommentViewData { Id = announcementComment.Id, AnnouncementId = announcementComment.AnnouncementRef, Attachments = attachments?.Select(x => AttachmentViewData.Create(x, currentPersonId)).ToList(), ParentCommentId = announcementComment.ParentCommentRef, Owner = ShortPersonViewData.Create(announcementComment.Person), TimePosted = announcementComment.PostedDate, Text = announcementComment.Text, Hidden = announcementComment.Hidden, Deleted = announcementComment.Deleted }); }
public static SentPrivateMessageViewData Create(SentPrivateMessage message) { var res = new SentPrivateMessageViewData(message) { DeletedBySender = message.DeletedBySender, AllRecipients = ShortPersonViewData.Create(message.RecipientPersons) }; if (message.RecipientClass != null) { res.RecipientClass = ShortClassViewData.Create(message.RecipientClass); } if (message.RecipientPersons.Count == 1) { res.RecipientPerson = ShortPersonViewData.Create(message.RecipientPersons[0]); } return(res); }
public static AnnouncementMessageViewData Create(AnnouncementQnAComplex announcementQnA, bool isAnswerer) { if (isAnswerer) { return(new AnnouncementMessageViewData { Person = ShortPersonViewData.Create(announcementQnA.Answerer), Message = announcementQnA.Answer, Created = announcementQnA.AnsweredTime }); } return(new AnnouncementMessageViewData { Person = ShortPersonViewData.Create(announcementQnA.Asker), Message = announcementQnA.Question, Created = announcementQnA.QuestionTime }); }
public NotificationViewData Build(NotificationDetails notification) { if (notification.Type != NotificationType.Question) { throw new ChalkableException(ChlkResources.ERR_INVALID_NOTIFICATION_BUILDER_FOR_TYPE); } var res = new NotificationViewData(notification) { Person = ShortPersonViewData.Create(notification.QuestionPerson) }; if (notification.ClassAnnouncementType != null) { res.AnnouncementType = (int)notification.Announcement.Type; res.ClassAnnouncementTypeId = notification.ClassAnnouncementType.ChalkableAnnouncementTypeRef; res.AnnouncementTypeName = notification.ClassAnnouncementType.Name; } return(res); }
protected GroupInfoViewData(GroupInfo groupInfo) : base(groupInfo) { Students = ShortPersonViewData.Create(groupInfo.Students); StudentCount = Students.Count; }