Exemplo n.º 1
0
        private static Guid CreateFacilityWithTags(TagManager manager, out Tag newTag)
        {
            var id = Guid.NewGuid();
            var f  = new Facility
            {
                Id   = id,
                Tags =
                    new List <Tag>
                {
                    new Tag
                    {
                        Id       = Guid.NewGuid(),
                        Category = new TagCategory {
                            Color = KnownColor.Transparent, Name = "Default"
                        },
                        CreateDate = DateTime.UtcNow,
                        Value      = id.ToString(),
                        Type       = TagType.Facility
                    }
                }
            };

            using (var session = DocumentStoreLocator.ResolveOrRoot(CommonConfiguration.CoreDatabaseRoute))
            {
                session.Store(f);
                session.SaveChanges();
            }

            var tcm      = new TagCategoryManager();
            var category = tcm.GetNotDefault().First();

            var tags = f.Tags;

            newTag = new Tag
            {
                Id         = Guid.NewGuid(),
                Category   = category,
                CreateDate = DateTime.UtcNow,
                Value      = "aValue",
                Attribute  = "Validation",
                Type       = TagType.Facility
            };
            tags.Add(newTag);

            manager.AssignTags <Facility>(id, tags, true);
            return(id);
        }
Exemplo n.º 2
0
        //public Tag AddDefault<T> (string name, string id) where T : ITaggableEntity
        //{
        //    return _tagManager.AddDefault<T>(name, id);
        //}

        public void AssignTags <T>(Guid id, IList <Tag> tags, bool clear) where T : ITaggableEntity
        {
            var entityType = typeof(T);

            if (!typeof(ITaggableEntity).IsAssignableFrom(entityType))
            {
                return;
            }

            if (entityType == typeof(User))
            {
                _tagManager.AssignTagsToUser(id, tags, clear);
            }
            else if (entityType == typeof(ItemRegistration))
            {
                _tagManager.AssignTagsToItemRegistration(id, tags, clear);
            }
            else
            {
                _tagManager.AssignTags <T>(id, tags, clear);
            }
        }