public static ShortAnnouncementGradeViewData Create(ClassAnnouncement announcement, IList <StudentAnnouncement> studentAnnouncements, int studentId, IList <ClaimInfo> claims) { return(new ShortAnnouncementGradeViewData(announcement, claims) { StudentAnnouncements = ShortStudentsAnnouncementsViewData.Create(studentAnnouncements, studentId) }); }
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); }
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); }
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); }
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 }); }
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; }
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); }
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); }
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)); }
public static ClassAnnouncementViewData Create(ClassAnnouncement announcement, IList <ClaimInfo> claims) { return(new ClassAnnouncementViewData(announcement, claims)); }
protected ShortAnnouncementGradeViewData(ClassAnnouncement announcement, IList <ClaimInfo> claims) : base(announcement, claims) { }