Example #1
0
        protected override void InnerMap(Activity activity, AnnouncementDetails annDetails)
        {
            MapperFactory.GetMapper <Activity, AnnouncementComplex>().Map(activity, annDetails);
            if (annDetails.AnnouncementAttributes != null && annDetails.AnnouncementAttributes.Count > 0)
            {
                if (activity.Attributes == null)
                {
                    activity.Attributes = new List <ActivityAssignedAttribute>();
                }

                var newAtts = new List <ActivityAssignedAttribute>();

                foreach (var annAtt in annDetails.AnnouncementAttributes)
                {
                    var att = activity.Attributes.FirstOrDefault(x => x.Id == annAtt.SisActivityAssignedAttributeId);
                    if (att == null)
                    {
                        att = new ActivityAssignedAttribute {
                            ActivityId = activity.Id
                        };
                        newAtts.Add(att);
                    }
                    MapperFactory.GetMapper <ActivityAssignedAttribute, AnnouncementAssignedAttribute>().Map(att, annAtt);
                }
                activity.Attributes = activity.Attributes.Concat(newAtts);
            }
            if (annDetails.AnnouncementStandards != null && annDetails.AnnouncementStandards.Count > 0)
            {
                if (activity.Standards == null)
                {
                    activity.Standards = new LinkedList <ActivityStandard>();
                }
                var newStandards = new List <ActivityStandard>();
                foreach (var annStandard in annDetails.AnnouncementStandards)
                {
                    if (annStandard.Standard != null)
                    {
                        var activitySt = activity.Standards.FirstOrDefault(x => x.Id == annStandard.StandardRef);
                        if (activitySt == null)
                        {
                            activitySt = new ActivityStandard();
                            newStandards.Add(activitySt);
                        }
                        activitySt.Id   = annStandard.Standard.Id;
                        activitySt.Name = annStandard.Standard.Name;
                    }
                }
                activity.Standards = activity.Standards.Concat(newStandards);
            }
        }
Example #2
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));
            }
        }
 public void Update(int activityId, int id, ActivityAssignedAttribute activityAssignedAttribute)
 {
     Put(string.Format(urlFormat + "/{1}", activityId, id), activityAssignedAttribute);
 }
 public ActivityAssignedAttribute CreateActivityAttribute(int activityId, ActivityAssignedAttribute activityAssignedAttribute)
 {
     return(Post(string.Format(urlFormat, activityId), activityAssignedAttribute));
 }