Example #1
0
 public static HomeroomViewData Create(Homeroom homeroom)
 {
     return(new HomeroomViewData(homeroom.Id, homeroom.Name)
     {
         Teacher = homeroom.Teacher != null?ShortPersonViewData.Create(homeroom.Teacher) : null
     });
 }
        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 IncomePrivateMessageViewData Create(IncomePrivateMessage message)
 {
     return(new IncomePrivateMessageViewData(message)
     {
         Read = message.Read,
         DeletedByRecipient = message.DeletedByRecipient,
         Sender = ShortPersonViewData.Create(message.Sender)
     });
 }
Example #4
0
 public static SearchViewData Create(Person person)
 {
     return(new PersonSearchViewData
     {
         Description = person.FullName(),
         Id = person.Id.ToString(),
         SearchType = (int)SearchTypeEnum.Persons,
         ShortPersonInfo = ShortPersonViewData.Create(person)
     });
 }
Example #5
0
        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);
        }
Example #6
0
        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));
        }
Example #7
0
 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
     });
 }
Example #11
0
        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);
        }
Example #12
0
        protected PersonScheduleViewData PrepareScheduleData(ShortPersonViewData person)
        {
            var mp = SchoolLocator.MarkingPeriodService.GetMarkingPeriodByDate(Context.NowSchoolYearTime.Date);
            IList <ClassDetails> classes = new List <ClassDetails>();

            if (mp != null)
            {
                if (person.Role.Id == CoreRoles.TEACHER_ROLE.Id)
                {
                    classes = SchoolLocator.ClassService.GetTeacherClasses(mp.SchoolYearRef, person.Id, mp.Id);
                }
                else if (person.Role.Id == CoreRoles.STUDENT_ROLE.Id)
                {
                    classes = SchoolLocator.ClassService.GetStudentClasses(mp.SchoolYearRef, person.Id, mp.Id);
                }
                else
                {
                    throw new NotImplementedException();
                }
            }
            return(PersonScheduleViewData.Create(person, classes));
        }
Example #13
0
 protected GroupInfoViewData(GroupInfo groupInfo) : base(groupInfo)
 {
     Students     = ShortPersonViewData.Create(groupInfo.Students);
     StudentCount = Students.Count;
 }