public IList <Tag> GetTags <T>(Guid id) where T : ITaggableEntity { var taggableEntity = typeof(T); if (typeof(ITaggableEntity).IsAssignableFrom(taggableEntity)) { if (taggableEntity == typeof(User)) { var current = new UserManager().GetById(id); if (current != null) { return(current.Tags); } } if (taggableEntity == typeof(ItemRegistration)) { var current = new ItemRegistrationManager().GetById(id); if (current != null) { return(current.Tags); } } var entityTags = _tagManager.GetAllTagsFrom <T>(id); if (entityTags != null) { return(entityTags); } } return(null); }
public IList <Tag> GetAllTagByItemRegistration() { var items = new ItemRegistrationManager().GetAll(); var tags = new List <Tag>(); foreach (var app in items.Where(app => !items.Contains(app))) { tags.AddRange(app.Tags); } return(tags); }