#pragma warning disable CS1591 // 缺少对公共可见类型或成员“TagController.TagController(IArticleTagService, ITagService, TagMapper)”的 XML 注释 public TagController(IArticleTagService articleTagService, ITagService tagService, TagMapper tagMapper) #pragma warning restore CS1591 // 缺少对公共可见类型或成员“TagController.TagController(IArticleTagService, ITagService, TagMapper)”的 XML 注释 { this.articleTagService = articleTagService; this.tagService = tagService; this.tagMapper = tagMapper; }
/// <summary> /// 通过路径获取标签bean /// </summary> /// <param name="isThis">该路径是否是标签所标注的路径</param> public static TagBean GetTagByPath(string path, out bool isThis) { DirTagBean[] dirTags = InternalStorage.Get(InternalStorage.Domain.tag, "tagSort") as DirTagBean[]; uint tagId = 0; isThis = false; foreach (DirTagBean dirTag in dirTags) { if (path.IndexOf(dirTag.Path) != -1) { tagId = dirTag.TagId; if (dirTag.Path == path) { isThis = true; } break; } } if (tagId == 0) { return(null); } else { return(TagMapper.GetOneById(tagId)); } }
/// <summary> /// Add new Question /// </summary> /// <param name="questionDTO"></param> /// <returns></returns> public QuestionDTO Add(QuestionDTO questionDTO) { try { Question question = QuestionMapper.ToDB(questionDTO); question.Tags = new List <Tag>(); foreach (var tag in questionDTO.Tags) { tag.Id = Guid.NewGuid(); var currentTag = db.Tags.Where(x => x.Body == tag.Body).FirstOrDefault(); if (currentTag == null) { var tagsaved = db.Tags.Add(TagMapper.ToDB(tag)); question.Tags.Add(tagsaved); } else { question.Tags.Add(currentTag); } } var questionAdded = db.Questions.Add(question); db.SaveChanges(); var questionFound = db.Questions .Include("Author") .Where(s => s.Id == questionAdded.Id) .FirstOrDefault(); return(QuestionMapper.ToDTO(questionFound)); } catch { return(null); } }
public TagsController(IEntityBaseRepository <Error> errorRepository, IEntityBaseRepository <Tag> tagRepository, TagMapper tagMapper) : base(errorRepository) { _tagRepository = tagRepository; _tagMapper = tagMapper; }
public static void LoadAttributes() { TransactionTypes = TransactionTypeMapper.ConvertToBusinessLogicEntitiesCollection(TransactionTypeAdapter.GetAll($"language_id={Language.Id}")).ToList(); TransferTypes = TransferTypeMapper.ConvertToBusinessLogicEntitiesCollection(TransferTypeAdapter.GetAll($"language_id={Language.Id}")).ToList(); Frequencies = FrequencyMapper.ConvertToBusinessLogicEntitiesCollection(FrequencyAdapter.GetAll($"language_id={Language.Id}")).ToList(); Importances = ImportanceMapper.ConvertToBusinessLogicEntitiesCollection(ImportanceAdapter.GetAll($"language_id={Language.Id}")).ToList(); Tags = TagMapper.ConvertToBusinessLogicEntitiesCollection(TagAdapter.GetAll($"language_id={Language.Id}")).ToList(); }
public TagsMapperTests() { this.mapper = new TagMapper(); this.entityToMap = new Tag { Id = 1, Items = null, Name = "Tag", Readers = null }; this.entityToCompareWith = new Tag { Id = 1, Items = null, Name = "Tag", Readers = null }; this.modelToMap = new TagBusinessModel { id = 1, name = "Tag" }; this.modelToCompareWith = new TagBusinessModel { id = 1, name = "Tag" }; }
public void Create(TagViewModel entity) { TagMapper _tagMapper = new TagMapper(); Tag tag = _tagMapper.Map(entity); _blogpostContext.Tag.Add(tag); _blogpostContext.SaveChanges(); }
/// <summary> /// 递归删除标签及其所有子标签 /// </summary> /// <param name="tagId"></param> public static void DeleteTag(uint tagId) { TagBean[] beanList = TagMapper.GetChildTag(tagId); foreach (TagBean bean in beanList) { DeleteTag(bean.Id); } TagMapper.DeleteOne(tagId); DirTagMapper.DeleteByTagId(tagId); }
/// <summary> /// 获得标签列表 /// </summary> /// <param name="parentId">所需标签的父级id</param> public static TagBean[] GetTagItemSource(uint parentId) { if (parentId == 0) { return(TagMapper.GetRootTag()); } else { return(TagMapper.GetChildTag(parentId)); } }
//修改标签 public void EditTag_Click(TagBean bean) { TagWindow window = new TagWindow("修改标签", bean); bool? result = window.ShowDialog(); if (result == true) { TagMapper.UpdataOne(bean); RefreshAll(); } }
/// <summary> /// Lists all soft-deleted tags from the context. /// </summary> /// <returns>ICollection of TagModels</returns> public async Task <ICollection <TagModel> > GetDeletedTags() { var tagDTOs = await _context.Tags .Where(t => t.IsDeleted) .Include(t => t.ReportTags) .ThenInclude(rt => rt.Report) .Select(t => TagMapper.MapModelFromEntity(t)) .ToListAsync(); return(tagDTOs); }
public TagModel GetById(string id) { var tag = _tagRepository.GetById(id); if (tag == null) { throw new NotFoundException(Messages.InvalidTagId); } return(TagMapper.ToTagModel(tag)); }
public List<TagBusinessModel> GetReaderPreferences(int readerId) { var reader = this.libraryUow.Readers.GetById(readerId); TagMapper tagMapper = new TagMapper(); List<TagBusinessModel> preferences = new List<TagBusinessModel>(); foreach (var tag in reader.Preferences) { preferences.Add(tagMapper.Map(tag)); } return preferences; }
public List<TagBusinessModel> GetTags(string filter) { var tags = this.libraryUow.Tags.GetAll().Where(t => t.Name.Contains(filter)).ToList(); var tagsBusinessModels = new List<TagBusinessModel>(); TagMapper mapper = new TagMapper(); foreach (var tag in tags) { tagsBusinessModels.Add(mapper.Map(tag)); } return tagsBusinessModels; }
public void MapTags_Should_Convert_List_Of_Tags_To_List_Of_TagDtos() { //Arrange var tagIds = CreateSomeTagId(3); var tags = new TagTestBuilder().BuildList(tagIds.Count); //Act var tagDtos = TagMapper.MapTags(tagIds, tags); //Assert tagDtos.Count.Should().Be(tags.Count); }
public void MapTag_Should_Convert_Tag_To_TagDto() { //Arrange var tags = new TagTestBuilder().BuildList(3); //Act var tagDto = TagMapper.MapTag(tags.First().Id, tags); //Assert tagDto.Id.Should().Be(tagDto.Id); tagDto.Name.Should().Be(tagDto.Name); }
public List <TagBusinessModel> GetTags(string filter) { var tags = this.libraryUow.Tags.GetAll().Where(t => t.Name.Contains(filter)).ToList(); var tagsBusinessModels = new List <TagBusinessModel>(); TagMapper mapper = new TagMapper(); foreach (var tag in tags) { tagsBusinessModels.Add(mapper.Map(tag)); } return(tagsBusinessModels); }
/// <summary> /// Gets a tag from the context by its ID. /// </summary> /// <param name="id">The ID of the target Tag.</param> /// <returns>Tag Model on success. Throws ArgumentNullException if Tag does not exist.</returns> public async Task <TagModel> GetTag(int id) { var tag = await _context.Tags .Include(t => t.ReportTags) .ThenInclude(rt => rt.Report) .FirstOrDefaultAsync(t => t.Id == id); ValidateTagExists(tag); var tagDTO = TagMapper.MapModelFromEntity(tag); return(tagDTO); }
public List <TagBusinessModel> GetReaderPreferences(int readerId) { var reader = this.libraryUow.Readers.GetById(readerId); TagMapper tagMapper = new TagMapper(); List <TagBusinessModel> preferences = new List <TagBusinessModel>(); foreach (var tag in reader.Preferences) { preferences.Add(tagMapper.Map(tag)); } return(preferences); }
/// <summary> /// Method GetAllTags() /// </summary> /// <returns>The TagBusinessModel list</returns> public List<TagBusinessModel> GetAllTags() { List<TagBusinessModel> tagsBusinessModels = new List<TagBusinessModel>(); List<Tag> tags = uow.Tags.GetAll().OrderBy(x => x.Name).ToList(); TagMapper mapper = new TagMapper(); foreach (var tag in tags) { tagsBusinessModels.Add(mapper.Map(tag)); } return tagsBusinessModels; }
/// <summary> /// Method GetAllTags() /// </summary> /// <returns>The TagBusinessModel list</returns> public List <TagBusinessModel> GetAllTags() { List <TagBusinessModel> tagsBusinessModels = new List <TagBusinessModel>(); List <Tag> tags = uow.Tags.GetAll().OrderBy(x => x.Name).ToList(); TagMapper mapper = new TagMapper(); foreach (var tag in tags) { tagsBusinessModels.Add(mapper.Map(tag)); } return(tagsBusinessModels); }
public RecentsController(ICategoryProvider categoryProvider, ICommentProvider commentProvider, IPostProvider postProvider, ITagProvider tagProvider, TagMapper tagMapper, CommentMapper commentMapper, CategoryMapper categoryMapper, PostMapper postMapper, RecentContentMapper recentContentMapper) { _categoryProvider = categoryProvider; _commentProvider = commentProvider; _postProvider = postProvider; _tagProvider = tagProvider; _postMapper = postMapper; _categoryMapper = categoryMapper; _commentMapper = commentMapper; _tagMapper = tagMapper; _recentContentMapper = recentContentMapper; }
/// <summary> /// Lists all active Tags from the context. Tags must not be soft-deleted. /// </summary> /// <param name="sort">The property to sort the resulting tags by.</param> /// <param name="search">Searches tags by their name.</param> /// <returns>ICollection of Tag Models.</returns> public async Task <ICollection <TagModel> > GetTags(string sort, string search) { var tagModels = await _context.Tags .Where(t => !t.IsDeleted) .Include(t => t.ReportTags) .ThenInclude(rt => rt.Report) .Select(t => TagMapper.MapModelFromEntity(t)) .ToListAsync(); tagModels = SortTags(sort, tagModels).ToList(); tagModels = SearchTags(search, tagModels).ToList(); return(tagModels); }
/// <summary> /// Creates a new Tag in the context. /// </summary> /// <param name="name">The name of the new Tag.</param> /// <returns>Tag Model on success. Throws ArgumentException if a Tag with this name already exists.</returns> public async Task <TagModel> CreateTag(string name) { name = name.Trim(); var tagDTO = TagMapper.MapModelFromInput(name); if (!await _context.Tags.AnyAsync(t => t.Name.ToLower() == name.ToLower())) { var tag = TagMapper.MapEntityFromModel(tagDTO); await _context.Tags.AddAsync(tag); await _context.SaveChangesAsync(); tagDTO = TagMapper.MapModelFromEntity(tag); return(tagDTO); } throw new ArgumentException($"Tag with name {name} already exists."); }
public ApiAdapter(IDataBaseManagerFactory dbEngine, string address, string port, string table, string login, string password) { DbManager = new DatabaseManager(dbEngine, address, port, table, login, password); DbConnector = new DbConnector(DbManager); LanguageAdapter = new LanguageAdapter(DbConnector); UserAdapter = new UserAdapter(DbConnector); UserDetailsAdapter = new UserDetailsAdapter(DbConnector); TransactionTypeAdapter = new TransactionTypeAdapter(DbConnector); TransferTypeAdapter = new TransferTypeAdapter(DbConnector); FrequencyAdapter = new FrequencyAdapter(DbConnector); ImportanceAdapter = new ImportanceAdapter(DbConnector); TagAdapter = new TagAdapter(DbConnector); OperationAdapter = new OperationAdapter(DbConnector); OperationDetailsAdapter = new OperationDetailsAdapter(DbConnector); OperationTagRelationAdapter = new OperationTagAdapter(DbConnector); OperationsGroupAdapter = new OperationsGroupAdapter(DbConnector); OperationsGroupRelationAdapter = new OperationsGroupTagAdapter(DbConnector); FilterAdapter = new FilterAdapter(DbConnector); DashboardAdapter = new DashboardAdapter(DbConnector); DashboardFilterRelationAdapter = new DashboardFilterRelationAdapter(DbConnector); BankAdapter = new BankAdapter(DbConnector); SettingsAdapter = new SettingsAdapter(DbConnector); SchematicTypeAdapter = new SchematicTypeAdapter(DbConnector); SchematicAdapter = new SchematicAdapter(DbConnector); LanguageMapper = new LanguageMapper(); UserMapper = new UserMapper(); UserDetailsMapper = new UserDetailsMapper(); TransactionTypeMapper = new TransactionTypeMapper(); TransferTypeMapper = new TransferTypeMapper(); FrequencyMapper = new FrequencyMapper(); ImportanceMapper = new ImportanceMapper(); TagMapper = new TagMapper(); TagRelationMapper = new RelationTagMapper(); OperationMapper = new OperationMapper(); OperationsGroupMapper = new OperationsGroupMapper(); FilterMapper = new FilterMapper(); DashboardMapper = new DashboardMapper(); DashboardFilterMapper = new DashboardFilterMapper(); BankMapper = new BankMapper(); SettingsMapper = new SettingsMapper(); SchematicTypeMapper = new SchematicTypeMapper(); SchematicMapper = new SchematicMapper(); }
protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); CommentMapper.Map(modelBuilder.Entity <Comment>()); IngredientMapper.Map(modelBuilder.Entity <Ingredient>()); LikeMapper.Map(modelBuilder.Entity <Like>()); MeasureMapper.Map(modelBuilder.Entity <Measure>()); RecipeTagMapper.Map(modelBuilder.Entity <RecipeTag>()); TagMapper.Map(modelBuilder.Entity <Tag>()); RecipeMapper.Map(modelBuilder.Entity <Recipe>()); UserMapper.Map(modelBuilder.Entity <User>()); foreach (var relationship in modelBuilder.Model.GetEntityTypes().SelectMany(e => e.GetForeignKeys())) { relationship.DeleteBehavior = DeleteBehavior.Restrict; } }
public TagUsageForApiContract[] GetTagSuggestions(int albumId) { var maxResults = 3; return(repository.HandleQuery(ctx => { var album = ctx.Load <Album>(albumId); var albumTags = album.Tags.Tags.Select(t => t.Id); var songUsages = ctx.Query <SongTagUsage>() .Where(u => !albumTags.Contains(u.Tag.Id) && !u.Tag.Deleted && !u.Tag.HideFromSuggestions && u.Song.AllAlbums.Any(a => a.Album.Id == albumId)) .WhereTagHasTarget(TagTargetTypes.Album) .GroupBy(t => t.Tag.Id) .Select(t => new { TagId = t.Key, Count = t.Count() }) .Where(t => t.Count > 1) .OrderByDescending(t => t.Count) .Take(maxResults) .ToArray(); var tags = ctx.LoadMultiple <Tag>(songUsages.Select(t => t.TagId)).ToDictionary(t => t.Id); var results = songUsages.Select(t => new TagUsageForApiContract(tags[t.TagId], t.Count, LanguagePreference)); if (songUsages.Length < 3) { var pvResults = album.PVs .Where(pv => pv.Service == PVService.NicoNicoDouga) .Select(pv => pvParser.ParseByUrl(pv.Url, true, permissionContext)) .Where(p => p != null); var nicoTags = pvResults.SelectMany(pv => pv.Tags).Distinct().ToArray(); var mappedTags = new TagMapper().MapTags(ctx, nicoTags) .Where(tag => !albumTags.Contains(tag.Id) && !tags.ContainsKey(tag.Id)); results = results .Concat(mappedTags.Select(tag => new TagUsageForApiContract(tag, 0, LanguagePreference))) .Take(maxResults); } return results.ToArray(); })); }
/// <summary> /// Edit question /// </summary> /// <param name="questionDTO"></param> /// <returns></returns> public QuestionDTO Edit(QuestionDTO questionDTO) { try { QuestionDTO questionUpdated = new QuestionDTO(); var questionFound = db.Questions.Where(x => x.Id == questionDTO.Id).FirstOrDefault(); if (questionFound == null) { throw new NoSuchQuestionFound(); } questionFound.Description = questionDTO.Description; questionFound.Title = questionDTO.Title; List <Tag> tags = new List <Tag>(); foreach (var tag in questionDTO.Tags) { tag.Id = Guid.NewGuid(); var currentTag = db.Tags.Where(x => x.Body == tag.Body).FirstOrDefault(); if (currentTag == null) { var tagsaved = db.Tags.Add(TagMapper.ToDB(tag)); tags.Add(tagsaved); } else { tags.Add(currentTag); } } questionFound.Tags = tags; questionFound.Image = questionDTO.Image; questionFound.EditDate = DateTime.Now; questionUpdated = QuestionMapper.ToDTO(questionFound); db.SaveChanges(); return(questionUpdated); } catch (NoSuchQuestionFound) { throw new NoSuchQuestionFound(); } catch { return(null); } }
public void Add(TagModel tagModel) { if (string.IsNullOrEmpty(tagModel.Name)) { throw new ValidationException(Messages.TagNameRequired); } var tagByName = _tagRepository.GetByName(tagModel.Name); if (tagByName != null) { throw new ConflictException(Messages.TagNameAlreadyExists); } var tag = TagMapper.ToTag(tagModel); tag.Id = SecurityUtils.GenerateEntityId(); _tagRepository.Add(tag); }
//新建标签 public void NewTag_Click(ListBox sender) { int plies = GetPliesByName(sender.Name); if (nodeParentId[plies] == -1) { MessageBox.Show("未选择父级标签", "提示", MessageBoxButton.OK, MessageBoxImage.Exclamation); return; } uint patentId = Convert.ToUInt32(nodeParentId[plies]); TagWindow window = new TagWindow("新建标签"); bool? result = window.ShowDialog(); if (result == true) { TagBean bean = window.DataContext as TagBean; bean.ParentId = patentId; TagMapper.AddOne(bean); RefreshAll(); } }
public static QuestionDTO ToDTO(Question question) { List <TagDTO> tags = new List <TagDTO>(); foreach (var tagItem in question.Tags) { tags.Add(TagMapper.ToDTO(tagItem)); } QuestionDTO questionDTO = new QuestionDTO() { Id = question.Id, Title = question.Title, Description = question.Description, Image = question.Image, Tags = tags, Author = UserMapper.ToDTO(question.Author), UploadDate = question.UploadDate, EditDate = question.EditDate }; return(questionDTO); }
/// <summary> /// Updates the properties of an existing Tag. /// </summary> /// <param name="id">The ID of the target Tag.</param> /// <param name="name">The new Name of the Tag.</param> /// <returns>Throws ArgumentNullException if Tag does not exist. Throws ArgumentException if a Tag with the new provided name already exists.</returns> public async Task <TagModel> UpdateTag(int id, string name) { var tag = await _context.Tags.FirstOrDefaultAsync(t => t.Id == id); ValidateTagExists(tag); if (await _context.Tags.AnyAsync(t => t.Name.ToLower() == name.ToLower() && t.Id != id)) { throw new ArgumentException($"Tag with name {name} already exists."); } if (name != null && name != string.Empty) { tag.Name = name; } tag.ModifiedOn = DateTime.UtcNow; var tagDTO = TagMapper.MapModelFromEntity(tag); await _context.SaveChangesAsync(); return(tagDTO); }
public static Question ToDB(QuestionDTO questionDTO) { List <Tag> tags = new List <Tag>(); foreach (var tagItem in questionDTO.Tags) { tags.Add(TagMapper.ToDB(tagItem)); } Question question = new Question() { Id = questionDTO.Id, Title = questionDTO.Title, Description = questionDTO.Description, AuthorId = questionDTO.Author.Id, Image = questionDTO.Image, Tags = tags, UploadDate = questionDTO.UploadDate, EditDate = questionDTO.EditDate }; return(question); }
public TagBusinessModel GetTag(int id) { TagMapper tagMapper = new TagMapper(); return tagMapper.Map(this.libraryUow.Tags.GetById(id)); }