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 = await _channelRepository.Select.AnyAsync(r => r.ChannelName == updateChannel.ChannelName && r.Id != id && r.ChannelCode == updateChannel.ChannelCode); if (exist) { throw new LinCmsException($"技术频道[{updateChannel.ChannelName}]已存在"); } Mapper.Map(updateChannel, channel); await _channelRepository.UpdateAsync(channel); await _channelTagRepository.DeleteAsync(r => r.ChannelId == id); var channelTagLists = new List <ChannelTag>(); updateChannel.TagIds?.ForEach(r => { channelTagLists.Add(new ChannelTag(id, r)); }); await _channelTagRepository.InsertAsync(channelTagLists); }
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); }