public static AnnouncementAssignedAttributeInfo Create(AnnouncementAssignedAttribute attribute,
                                                        AttributeAttachmentContentInfo attachmentContentInfo)
 {
     return(new AnnouncementAssignedAttributeInfo
     {
         AttachmentContentInfo = attachmentContentInfo,
         Attribute = attribute
     });
 }
Ejemplo n.º 2
0
        protected override void InnerMap(AnnouncementDetails annDetails, Activity activity)
        {
            MapperFactory.GetMapper <AnnouncementComplex, Activity>().Map(annDetails, activity);

            if (annDetails.AnnouncementAttributes == null)
            {
                annDetails.AnnouncementAttributes = new List <AnnouncementAssignedAttribute>();
            }

            annDetails.AnnouncementAttributes = annDetails.AnnouncementAttributes.Where(a => activity.Attributes != null &&
                                                                                        activity.Attributes.Any(x => x.Id == a.SisActivityAssignedAttributeId)).ToList();

            if (activity.Attributes != null && activity.Attributes.Any())
            {
                foreach (var attribute in activity.Attributes)
                {
                    var annAttribute = annDetails.AnnouncementAttributes.FirstOrDefault(aa => aa.SisActivityAssignedAttributeId == attribute.Id);
                    if (annAttribute == null)
                    {
                        annAttribute = new AnnouncementAssignedAttribute {
                            AnnouncementRef = annDetails.Id
                        };
                        annDetails.AnnouncementAttributes.Add(annAttribute);
                    }
                    MapperFactory.GetMapper <AnnouncementAssignedAttribute, ActivityAssignedAttribute>().Map(annAttribute, attribute);
                }
            }

            if (annDetails.AnnouncementStandards == null || activity.Standards == null || !activity.Standards.Any())
            {
                annDetails.AnnouncementStandards = new List <AnnouncementStandardDetails>();
            }

            if (activity.Standards != null && activity.Standards.Any())
            {
                annDetails.AnnouncementStandards = annDetails.AnnouncementStandards.Where(a => activity.Standards.Any(s => s.Id == a.StandardRef)).ToList();
                foreach (var activityStandard in activity.Standards)
                {
                    var annStandard = annDetails.AnnouncementStandards.FirstOrDefault(x => x.StandardRef == activityStandard.Id);
                    if (annStandard == null)
                    {
                        annStandard = new AnnouncementStandardDetails {
                            AnnouncementRef = annDetails.Id
                        };
                        annDetails.AnnouncementStandards.Add(annStandard);
                    }
                    annStandard.StandardRef = activityStandard.Id;
                    if (annStandard.Standard == null)
                    {
                        annStandard.Standard = new Standard();
                    }
                    annStandard.Standard.Id   = activityStandard.Id;
                    annStandard.Standard.Name = activityStandard.Name;
                }
            }
        }
Ejemplo n.º 3
0
        public static IList <Pair <AnnouncementAssignedAttribute, AnnouncementAssignedAttribute> > CopyNonStiAttributes(IDictionary <int, int> fromToAnnouncementIds,
                                                                                                                        UnitOfWork unitOfWork, IServiceLocatorSchool serviceLocator, ConnectorLocator connectorLocator)
        {
            //var attachmentDA = new AttachmentDataAccess(unitOfWork);

            var annAssignedAttributeDA = new AnnouncementAssignedAttributeDataAccess(unitOfWork);
            var attributesForCopying   = annAssignedAttributeDA.GetLastListByAnnIds(fromToAnnouncementIds.Select(x => x.Key).ToList(), int.MaxValue)
                                         .Where(x => !x.SisActivityAssignedAttributeId.HasValue).ToList();

            var fromToAttributes = new List <Pair <AnnouncementAssignedAttribute, AnnouncementAssignedAttribute> >();

            foreach (var announcementPair in fromToAnnouncementIds)
            {
                var assignedAttToCopy = attributesForCopying.Where(x => x.AnnouncementRef == announcementPair.Key).ToList();
                foreach (var attributeToCopy in assignedAttToCopy)
                {
                    var newAttribute = new AnnouncementAssignedAttribute
                    {
                        AnnouncementRef    = announcementPair.Value,
                        AttributeTypeId    = attributeToCopy.AttributeTypeId,
                        Name               = attributeToCopy.Name,
                        Text               = attributeToCopy.Text,
                        VisibleForStudents = attributeToCopy.VisibleForStudents,
                        AttachmentRef      = attributeToCopy.AttachmentRef,
                        Attachment         = attributeToCopy.Attachment
                    };

                    //if (attributeToCopy.Attachment != null)
                    //{
                    //    var attachment = new Attachment
                    //    {
                    //        Name = attributeToCopy.Attachment.Name,
                    //        PersonRef = serviceLocator.Context.PersonId.Value,
                    //        Uuid = null,
                    //        UploadedDate = serviceLocator.Context.NowSchoolTime,
                    //        LastAttachedDate = serviceLocator.Context.NowSchoolTime,
                    //    };

                    //    attachment.Id = attachmentDA.InsertWithEntityId(attachment);

                    //    newAttribute.AttachmentRef = attachment.Id;
                    //    newAttribute.Attachment = attachment;
                    //}
                    fromToAttributes.Add(new Pair <AnnouncementAssignedAttribute, AnnouncementAssignedAttribute>(attributeToCopy, newAttribute));
                }
            }

            annAssignedAttributeDA.Insert(fromToAttributes.Select(x => x.Second).ToList());
            return(fromToAttributes);
        }
        public static AnnouncementAssignedAttributeViewData Create(AnnouncementAssignedAttribute attr, AttachmentInfo attachmentInfo)
        {
            var result = new AnnouncementAssignedAttributeViewData
            {
                Id                             = attr.Id,
                Name                           = attr.Name,
                Text                           = attr.Text,
                AttributeTypeId                = attr.AttributeTypeId,
                VisibleForStudents             = attr.VisibleForStudents,
                AnnouncementRef                = attr.AnnouncementRef,
                SisActivityAssignedAttributeId = attr.SisActivityAssignedAttributeId,
                AttributeAttachment            = attachmentInfo != null?AttachmentViewData.Create(attachmentInfo) : null
            };

            return(result);
        }
Ejemplo n.º 5
0
        public AnnouncementAssignedAttribute Add(AnnouncementTypeEnum announcementType, int announcementId, int attributeTypeId)
        {
            var ann = ServiceLocator.GetAnnouncementService(announcementType).GetAnnouncementById(announcementId);

            Trace.Assert(Context.PersonId.HasValue);
            Trace.Assert(Context.SchoolLocalId.HasValue);

            var attributeType = ServiceLocator.AnnouncementAttributeService.GetAttributeById(attributeTypeId, true);


            using (var uow = Update())
            {
                if (!CanAttach(ann))
                {
                    throw new ChalkableSecurityException();
                }

                var annAttribute = new AnnouncementAssignedAttribute
                {
                    AnnouncementRef    = ann.Id,
                    AttributeTypeId    = attributeType.Id,
                    Text               = "",
                    VisibleForStudents = false,
                    Name               = attributeType.Name
                };

                if (announcementType == AnnouncementTypeEnum.Class)
                {
                    var announcement = ServiceLocator.ClassAnnouncementService.GetClassAnnouncemenById(announcementId);
                    if (announcement.SisActivityId.HasValue)
                    {
                        var activityAssignedAttr = new ActivityAssignedAttribute();
                        MapperFactory.GetMapper <ActivityAssignedAttribute, AnnouncementAssignedAttribute>().Map(activityAssignedAttr, annAttribute);
                        activityAssignedAttr.Text = " ";
                        activityAssignedAttr      = ConnectorLocator.ActivityAssignedAttributeConnector.CreateActivityAttribute(announcement.SisActivityId.Value, activityAssignedAttr);
                        MapperFactory.GetMapper <AnnouncementAssignedAttribute, ActivityAssignedAttribute>().Map(annAttribute, activityAssignedAttr);
                        annAttribute.Name = attributeType.Name;//activity attr returns null name
                    }
                }

                var da = new AnnouncementAssignedAttributeDataAccess(uow);
                var id = da.InsertWithEntityId(annAttribute);
                uow.Commit();
                return(da.GetById(id));
            }
        }
Ejemplo n.º 6
0
        public static IList <AnnouncementAssignedAttribute> CopyNonStiAttributes(int fromAnnouncementId, IList <int> toAnnouncementIds,
                                                                                 UnitOfWork unitOfWork, IServiceLocatorSchool serviceLocator, ConnectorLocator connectorLocator)
        {
            var da = new AnnouncementAssignedAttributeDataAccess(unitOfWork);
            var attributesForCopying = da.GetListByAnntId(fromAnnouncementId);

            attributesForCopying = attributesForCopying.Where(x => !x.SisActivityAssignedAttributeId.HasValue).ToList();

            var attributes = new List <AnnouncementAssignedAttribute>();

            foreach (var attributeForCopying in attributesForCopying)
            {
                foreach (var toAnnouncementId in toAnnouncementIds)
                {
                    var attribute = new AnnouncementAssignedAttribute
                    {
                        AnnouncementRef    = toAnnouncementId,
                        AttributeTypeId    = attributeForCopying.AttributeTypeId,
                        Name               = attributeForCopying.Name,
                        Text               = attributeForCopying.Text,
                        VisibleForStudents = attributeForCopying.VisibleForStudents,
                        AttachmentRef      = attributeForCopying.AttachmentRef,
                        Attachment         = attributeForCopying.Attachment
                    };
                    //if (attributeForCopying.Attachment != null)
                    //{
                    //    var attContent = serviceLocator.AttachementService.GetAttachmentContent(attributeForCopying.Attachment);
                    //    if (attContent.Content != null)
                    //    {
                    //        var att = AttachmentService.Upload(attContent.Attachment.Name, attContent.Content, attContent.Attachment.IsStiAttachment, unitOfWork, serviceLocator, connectorLocator);
                    //        attribute.AttachmentRef = att.Id;
                    //        attribute.Attachment = att;
                    //    }
                    //}
                    attributes.Add(attribute);
                }
            }
            da.Insert(attributes);
            return(da.GetLastListByAnnIds(toAnnouncementIds, attributes.Count));
        }
Ejemplo n.º 7
0
        private static FeedDetailsExportModel Create(Person person, string schoolName, string sy, DateTime nowSchoolTime, DateTime?startRange, DateTime?endRange
                                                     , AnnouncementDetails ann, ClassDetails classDetails, IList <DayType> dayTypes
                                                     , IList <Staff> staffs, Standard standard, AnnouncementAssignedAttribute attribute, AttachmentItem attachmentItem, Person student, int studentOrder)
        {
            var res = new FeedDetailsExportModel(person, schoolName, sy, nowSchoolTime, startRange, endRange, ann, classDetails, dayTypes, staffs, standard, attribute, student, studentOrder);

            if (attachmentItem != null)
            {
                res.AnnouncementAttachmentId   = attachmentItem.Id;
                res.AnnouncementAttachmentName = attachmentItem.Name;
                res.Document = attachmentItem.Document;
                res.AnnouncementAttachmentImage = attachmentItem.Image;
                res.AnnouncementAttachmentOrder = attachmentItem.Order;
            }
            return(res);
        }
Ejemplo n.º 8
0
        protected FeedDetailsExportModel(Person person, string schoolName, string sy, DateTime nowSchoolTime, DateTime?startRange, DateTime?endRange, AnnouncementDetails ann
                                         , ClassDetails classDetails, IList <DayType> dayTypes, IList <Staff> staffs, Standard standard, AnnouncementAssignedAttribute attribute, Person student, int studentOrder)
            : base(person, schoolName, sy, nowSchoolTime, startRange, endRange, classDetails, dayTypes, staffs, ann, standard)
        {
            AnnouncementDescription = ann.Content;
            HasAttributes           = ann.AnnouncementAttributes.Count > 0;
            IsLessonPlan            = ann.LessonPlanData != null;
            IsSupplemental          = ann.SupplementalAnnouncementData != null;

            if (ann.ClassAnnouncementData != null)
            {
                TotalPoint        = (double?)ann.ClassAnnouncementData.MaxScore ?? ClassAnnouncement.DEFAULT_MAX_SCORE;
                WeightAddition    = (double?)ann.ClassAnnouncementData.WeightAddition ?? ClassAnnouncement.DEFAULT_WEIGHT_ADDITION;
                WeigntMultiplier  = (double?)ann.ClassAnnouncementData.WeightMultiplier ?? ClassAnnouncement.DEFAULT_WEGIHT_MULTIPLIER;
                ShowScoreSettings = CanShowScoreSettings(ann.ClassAnnouncementData);
            }
            if (IsSupplemental && student != null)
            {
                StudentId          = student.Id;
                StudentDisplayName = student.FirstName + " " + student.LastName;
                StudentOrder       = studentOrder;
            }
            if (standard != null)
            {
                StandardId          = standard.Id;
                StandardName        = standard.Name;
                StandardDescription = standard.Description;
            }
            if (attribute != null)
            {
                AttributeId          = attribute.Id;
                AttributeName        = attribute.Name;
                AttributeDescription = attribute.Text;
                if (attribute.Attachment != null)
                {
                    AttributeAttachmentName = attribute.Attachment.Name;
                }
            }
        }
Ejemplo n.º 9
0
 private bool IsMissingAttachment(AnnouncementAssignedAttribute attribute)
 {
     return(attribute.Attachment != null && string.IsNullOrEmpty(attribute.Attachment.Uuid) && ServiceLocator.CrocodocService.IsDocument(attribute.Attachment.Name));
 }