예제 #1
0
        public async Task Insert2()
        {
            Book book     = GetBook();
            Book backBook = await _bookRepository.InsertAsync(book);

            Assert.Equal(book.Author, backBook.Author);
        }
예제 #2
0
        public async Task UpdateAsync(Guid id, CreateUpdateChannelDto updateChannel)
        {
            Channel channel = await _channelRepository.Select.Where(r => r.Id == id).ToOneAsync();

            if (channel == null)
            {
                throw new LinCmsException("该数据不存在");
            }

            bool exist = _channelRepository.Select.Any(r => r.ChannelName == updateChannel.ChannelName && r.Id != id && r.ChannelCode == updateChannel.ChannelCode);

            if (exist)
            {
                throw new LinCmsException($"技术频道[{updateChannel.ChannelName}]已存在");
            }

            _mapper.Map(updateChannel, channel);

            var channelTagLists = new List <ChannelTag>();

            updateChannel.TagIds?.ForEach(r => { channelTagLists.Add(new ChannelTag(id, r)); });

            await _channelTagRepository.DeleteAsync(r => r.ChannelId == id);

            await _channelRepository.UpdateAsync(channel);

            await _channelTagRepository.InsertAsync(channelTagLists);
        }
예제 #3
0
        public async Task CreateAsync(CreateUpdateTagDto createTag)
        {
            bool exist = await _tagRepository.Select.AnyAsync(r => r.TagName == createTag.TagName);

            if (exist)
            {
                throw new LinCmsException($"标签[{createTag.TagName}]已存在");
            }

            Tag tag = _mapper.Map <Tag>(createTag);
            await _tagRepository.InsertAsync(tag);
        }
예제 #4
0
        public Task SeedAsync()
        {
            List <PermissionDefinition> linCmsAttributes = ReflexHelper.GeAssemblyLinCmsAttributes();

            linCmsAttributes.ForEach(async r =>
            {
                bool exist = await _permissionRepository.Select
                             .Where(u => u.Module == r.Module && u.Name == r.Permission)
                             .AnyAsync();

                if (!exist)
                {
                    await _permissionRepository.InsertAsync(new LinPermission(r.Permission, r.Module));
                }
            });
            _permissionRepository.UnitOfWork.Commit();

            return(Task.CompletedTask);
        }
        public async Task CreateArticleAsyncTest()
        {
            Article article = new Article()
            {
                Id = new Guid("5dccaf53-b8ff-0750-00bf-8e9549e111a6"),
            };
            await _articleRepository.UpdateAsync(article);

            List <TagArticle> tagArticles = new List <TagArticle>()
            {
                new TagArticle()
                {
                    TagId     = Guid.NewGuid(),
                    ArticleId = Guid.NewGuid()
                }
            };
            await _tagArticleRepository.InsertAsync(tagArticles);

            UnitOfWork.Commit();
        }
예제 #6
0
        public async Task CreateAsync(CreateUpdateArticleDto createArticle)
        {
            Article article = _mapper.Map <Article>(createArticle);

            article.Archive     = DateTime.Now.ToString("yyy年MM月");
            article.WordNumber  = createArticle.Content.Length;
            article.ReadingTime = createArticle.Content.Length / 800;

            article.Tags = new List <Tag>();
            foreach (var articleTagId in createArticle.TagIds)
            {
                article.Tags.Add(new Tag()
                {
                    Id = articleTagId,
                });
                _tagService.UpdateArticleCount(articleTagId, 1);
            }

            await _articleRepository.InsertAsync(article);

            _classifyService.UpdateArticleCount(createArticle.ClassifyId, 1);
        }
예제 #7
0
        public async Task CreateAsync([FromBody] CreateUpdateChannelDto createChannel)
        {
            bool exist = await _channelRepository.Select.AnyAsync(r => r.ChannelName == createChannel.ChannelName && r.ChannelCode == createChannel.ChannelCode);

            if (exist)
            {
                throw new LinCmsException($"技术频道[{createChannel.ChannelName}]已存在");
            }

            Channel channel = _mapper.Map <Channel>(createChannel);

            channel.Tags = new List <Tag>();
            createChannel.TagIds?.ForEach(r =>
            {
                channel.Tags.Add(new Tag()
                {
                    Id = r
                });
            });

            await _channelRepository.InsertAsync(channel);
        }