public async Task <ActionResult> AddTag(PostTagDto dto, CancellationToken cancellationToken) { if (await _tagRepository.AddTag(dto, cancellationToken)) { return(Ok("با موفقیت ایجاد شد")); } return(BadRequest("خطا در ثبت تگ")); }
public async Task <TagDto> PostAsync(PostTagDto dto) { var tag = _mapper.Map <Tag>(dto); await _db.Tags.AddAsync(tag); await _db.SaveChangesAsync(); return(_mapper.Map <TagDto>(tag)); }
public async Task <bool> AddTag(PostTagDto dto, CancellationToken cancellationToken) { Assert.NotEmpty(dto.TagName, "list", "لیست تگ ها خالی است"); Assert.NotNull(dto.PostId, "آی دی پست نامعتبر است"); foreach (var tagDto in dto.TagName) { var isTagExist = await TableNoTracking.SingleOrDefaultAsync(a => a.Name.Equals(tagDto), cancellationToken); if (isTagExist == null) { var newTag = new Tag { Name = tagDto, VersionStatus = 0, Version = 1 }; await AddAsync(newTag, cancellationToken); var postTag = new PostTag { PostId = dto.PostId, TagId = newTag.Id, VersionStatus = 0, Version = 1 }; await _repositoryPostTag.AddAsync(postTag, cancellationToken, false); } else { var postTag = new PostTag { PostId = dto.PostId, TagId = isTagExist.Id, VersionStatus = 0, Version = 1 }; await _repositoryPostTag.AddAsync(postTag, cancellationToken, false); } } var save = await DbContext.SaveChangesAsync(cancellationToken); return(Convert.ToBoolean(save)); }
public async Task Post() { var svc = new TagService(DbContext, Mapper); var postDto = new PostTagDto { Name = "Visual Studio", Color = "Purple" }; await svc.PostAsync(postDto); var tags = await DbContext.Tags.ToListAsync(); Assert.AreEqual(1, tags.Count); Assert.AreEqual("Visual Studio", tags[0].Name); Assert.AreEqual("Purple", tags[0].Color); Assert.IsNull(tags[0].Glyph); Assert.IsNull(tags[0].GlyphFont); }
public async Task <TagDto> Post(PostTagDto dto) { return(await _tagService.PostAsync(dto)); }