Ejemplo n.º 1
0
 public static ShortAnnouncementGradeViewData Create(ClassAnnouncement announcement,
                                                     IList <StudentAnnouncement> studentAnnouncements, int studentId, IList <ClaimInfo> claims)
 {
     return(new ShortAnnouncementGradeViewData(announcement, claims)
     {
         StudentAnnouncements = ShortStudentsAnnouncementsViewData.Create(studentAnnouncements, studentId)
     });
 }
Ejemplo n.º 2
0
 public static ShortAnnouncementGradeViewData Create(ClassAnnouncement announcement,
                                                     IList <StudentAnnouncementDetails> studentAnnouncements, IList <int> studentIds, IList <ClaimInfo> claims)
 {
     studentAnnouncements = studentAnnouncements.Where(x => x.AnnouncementId == announcement.Id).ToList();
     return(new ShortAnnouncementGradeViewData(announcement, claims)
     {
         StudentAnnouncements = ShortStudentsAnnouncementsViewData.Create(studentAnnouncements, studentIds)
     });
 }
        public static StudentAnnouncementsViewData Create(ClassAnnouncement anouncement, IList <StudentAnnouncementDetails> items,
                                                          IList <AnnouncementAttachmentInfo> attachments)
        {
            var res = Create(items, attachments);

            res.ClassName                   = anouncement.ClassName;
            res.AnnouncementTypeId          = anouncement.ClassAnnouncementTypeRef;
            res.ChalkableAnnouncementTypeId = anouncement.ChalkableAnnouncementType;
            return(res);
        }
Ejemplo n.º 4
0
        private IList <StudentAnnouncementDetails> CreateStudentAnnouncements(ClassAnnouncement ann, IList <Student> students, IList <Score> scores, IList <AlternateScore> alternateScores)
        {
            var res = new List <StudentAnnouncementDetails>();

            foreach (var score in scores)
            {
                var student = students.FirstOrDefault(x => x.Id == score.StudentId);
                if (student != null)
                {
                    res.Add(CreateStudentAnnouncement(ann, student, score, alternateScores));
                }
            }
            return(res);
        }
Ejemplo n.º 5
0
        private StudentAnnouncementDetails CreateStudentAnnouncement(ClassAnnouncement ann, Student student, Score score, IList <AlternateScore> alternateScores)
        {
            var stAnn = new StudentAnnouncementDetails
            {
                ClassId        = ann.ClassRef,
                Student        = student,
                AnnouncementId = ann.Id
            };

            MapperFactory.GetMapper <StudentAnnouncementDetails, Score>().Map(stAnn, score);
            if (stAnn.AlternateScoreId.HasValue)
            {
                stAnn.AlternateScore = alternateScores.FirstOrDefault(x => x.Id == stAnn.AlternateScoreId.Value);
            }
            return(stAnn);
        }
Ejemplo n.º 6
0
 public static ClassAnnouncementInfo Create(ClassAnnouncement announcement)
 {
     return(new ClassAnnouncementInfo
     {
         ClassAnnouncementTypeId = announcement.ClassAnnouncementTypeRef,
         AnnouncementId = announcement.Id,
         Content = announcement.Content,
         ExpiresDate = announcement.Expires,
         MaxScore = announcement.MaxScore,
         WeightAddition = announcement.WeightAddition,
         WeightMultiplier = announcement.WeightMultiplier,
         CanDropStudentScore = announcement.MayBeDropped,
         HideFromStudents = !announcement.VisibleForStudent,
         Title = announcement.Title,
         Gradable = announcement.IsScored,
         DiscussionEnabled = announcement.DiscussionEnabled,
         PreviewCommentsEnabled = announcement.PreviewCommentsEnabled,
         RequireCommentsEnabled = announcement.RequireCommentsEnabled
     });
 }
Ejemplo n.º 7
0
        public static void AddMissingSisAttributes(ClassAnnouncement classAnn, IList <AnnouncementAssignedAttribute> attributes, UnitOfWork u
                                                   , ConnectorLocator connectorLocator, IServiceLocatorSchool serviceLocator)
        {
            var missingAttributes = attributes.Where(a => a.Id <= 0).ToList();
            var attrs             = UploadMissingAttachments(classAnn, missingAttributes, u, connectorLocator, serviceLocator);

            if (attributes.Count > 0)
            {
                foreach (var missingAttr in missingAttributes)
                {
                    var attr = attrs.FirstOrDefault(x => x.SisActivityAssignedAttributeId == missingAttr.SisActivityAssignedAttributeId);
                    if (attr == null)
                    {
                        continue;
                    }
                    missingAttr.AttachmentRef = attr.AttachmentRef;
                    missingAttr.Attachment    = attr.Attachment;
                }
            }
            new AnnouncementAssignedAttributeDataAccess(u).Insert(missingAttributes);
        }
 protected ClassAnnouncementViewData(ClassAnnouncement announcement, IList <ClaimInfo> claims)
     : base(announcement)
 {
     AnnouncementTypeId          = announcement.ClassAnnouncementTypeRef;
     ChalkableAnnouncementTypeId = announcement.ChalkableAnnouncementType;
     PersonId            = announcement.PrimaryTeacherRef;
     PersonName          = announcement.PrimaryTeacherName;
     PersonGender        = announcement.PrimaryTeacherGender;
     ClassId             = announcement.ClassRef;
     ClassName           = announcement.ClassName;
     FullClassName       = announcement.FullClassName;
     Dropped             = announcement.Dropped;
     ExpiresDate         = announcement.Expires == DateTime.MinValue ? (DateTime?)null : announcement.Expires;
     IsOwner             = announcement.IsOwner;
     MaxScore            = announcement.MaxScore;
     CanDropStudentScore = announcement.MayBeDropped;
     MayBeExempt         = announcement.MayBeExempt;
     Gradable            = announcement.IsScored;
     CanGrade            = (IsOwner || claims.HasPermission(ClaimInfo.MAINTAIN_CLASSROOM_ADMIN)) && announcement.IsScored;
     DepartmentId        = announcement.DepartmentId;
     HideFromStudents    = !announcement.VisibleForStudent;
     WeightAddition      = announcement.WeightAddition;
     WeightMultiplier    = announcement.WeightMultiplier;
 }
Ejemplo n.º 9
0
        private static IList <AnnouncementAssignedAttribute> UploadMissingAttachments(ClassAnnouncement classAnn, IList <AnnouncementAssignedAttribute> attributes, UnitOfWork u
                                                                                      , ConnectorLocator connectorLocator, IServiceLocatorSchool serviceLocator)
        {
            var attributesForUpdate = attributes.Where(x => x.Attachment != null && x.Attachment.SisAttachmentId.HasValue && !x.AttachmentRef.HasValue).ToList();

            if (attributesForUpdate.Count == 0)
            {
                return(new List <AnnouncementAssignedAttribute>());
            }
            var da            = new AttachmentDataAccess(u);
            var existingsAtts = da.GetBySisAttachmentIds(attributesForUpdate.Select(x => x.Attachment.SisAttachmentId.Value).ToList());
            var attsForUpload = new List <Attachment>();

            foreach (var attribute in attributesForUpdate)
            {
                var attachment  = attribute.Attachment;
                var existingAtt = existingsAtts.FirstOrDefault(x => x.SisAttachmentId == attachment.SisAttachmentId);
                if (existingAtt == null)
                {
                    var content = connectorLocator.AttachmentConnector.GetAttachmentContent(attribute.Attachment.SisAttachmentId.Value);
                    if (serviceLocator.CrocodocService.IsDocument(attribute.Attachment.Name))
                    {
                        attachment.Uuid = serviceLocator.CrocodocService.UploadDocument(attribute.Attachment.Name, content).uuid;
                    }
                    attachment.UploadedDate     = classAnn.Created;
                    attachment.LastAttachedDate = attachment.UploadedDate;
                    attachment.PersonRef        = classAnn.PrimaryTeacherRef;
                    attsForUpload.Add(attachment);
                }
                else
                {
                    attribute.AttachmentRef = existingAtt.Id;
                }
            }
            if (attsForUpload.Count > 0)
            {
                da.Insert(attsForUpload);
                existingsAtts = da.GetBySisAttachmentIds(attsForUpload.Select(x => x.SisAttachmentId.Value).ToList());
                foreach (var attribute in attributesForUpdate.Where(x => !x.AttachmentRef.HasValue))
                {
                    var att = existingsAtts.First(x => x.SisAttachmentId == attribute.Attachment.SisAttachmentId);
                    attribute.Attachment    = att;
                    attribute.AttachmentRef = att.Id;
                }
            }
            return(attributesForUpdate);
        }
Ejemplo n.º 10
0
 public static void AttachMissingAttachments(ClassAnnouncement classAnn, IList <AnnouncementAssignedAttribute> attributes, UnitOfWork u
                                             , ConnectorLocator connectorLocator, IServiceLocatorSchool serviceLocator)
 {
     attributes = UploadMissingAttachments(classAnn, attributes, u, connectorLocator, serviceLocator);
     new AnnouncementAssignedAttributeDataAccess(u).Update(attributes);
 }
Ejemplo n.º 11
0
 private static bool CanShowScoreSettings(ClassAnnouncement ann)
 {
     return(ann.WeightAddition.HasValue && ann.WeightMultiplier.HasValue &&
            (ann.WeightAddition != ClassAnnouncement.DEFAULT_WEIGHT_ADDITION ||
             ann.WeightMultiplier != ClassAnnouncement.DEFAULT_WEGIHT_MULTIPLIER));
 }
Ejemplo n.º 12
0
 public static ClassAnnouncementViewData Create(ClassAnnouncement announcement, IList <ClaimInfo> claims)
 {
     return(new ClassAnnouncementViewData(announcement, claims));
 }
Ejemplo n.º 13
0
 protected ShortAnnouncementGradeViewData(ClassAnnouncement announcement, IList <ClaimInfo> claims) : base(announcement, claims)
 {
 }