Ejemplo n.º 1
0
        public async Task <ActionResult> AddTag(PostTagDto dto, CancellationToken cancellationToken)
        {
            if (await _tagRepository.AddTag(dto, cancellationToken))
            {
                return(Ok("با موفقیت ایجاد شد"));
            }

            return(BadRequest("خطا در ثبت تگ"));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 public async Task <TagDto> Post(PostTagDto dto)
 {
     return(await _tagService.PostAsync(dto));
 }