irc-netcore-api/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigServi...

62 lines
2.4 KiB
C#

//--------------------------------------------------------------------
// 此代码由T4模板自动生成 byzhouhang 20210918
// 生成时间 2022-10-20 11:52:17
// 对此文件的更改可能会导致不正确的行为,并且如果重新生成代码,这些更改将会丢失。
//--------------------------------------------------------------------
using IRaCIS.Core.Domain.Models;
using Microsoft.AspNetCore.Mvc;
using IRaCIS.Core.Application.Interfaces;
using IRaCIS.Core.Application.ViewModel;
namespace IRaCIS.Core.Application.Service
{
/// <summary>
/// TrialEmailNoticeConfigService
/// </summary>
[ApiExplorerSettings(GroupName = "Test")]
public class TrialEmailNoticeConfigService : BaseService, ITrialEmailNoticeConfigService
{
private readonly IRepository<TrialEmailNoticeConfig> _trialEmailNoticeConfigRepository;
public TrialEmailNoticeConfigService(IRepository<TrialEmailNoticeConfig> trialEmailNoticeConfigRepository)
{
_trialEmailNoticeConfigRepository = trialEmailNoticeConfigRepository;
}
public async Task<List<TrialEmailNoticeConfigView>> GetTrialEmailNoticeConfigList(TrialEmailNoticeConfigQuery inQuery)
{
var trialEmailNoticeConfigQueryable = _trialEmailNoticeConfigRepository
.ProjectTo<TrialEmailNoticeConfigView>(_mapper.ConfigurationProvider);
return await trialEmailNoticeConfigQueryable.ToListAsync();
}
public async Task<IResponseOutput> AddOrUpdateTrialEmailNoticeConfig(TrialEmailNoticeConfigAddOrEdit addOrEditTrialEmailNoticeConfig)
{
addOrEditTrialEmailNoticeConfig.ReceiveEmailsStr = String.Join('|', addOrEditTrialEmailNoticeConfig.ReceiveEmailList);
addOrEditTrialEmailNoticeConfig.CopyEmailsStr = String.Join('|', addOrEditTrialEmailNoticeConfig.CopyEmailList);
var entity = await _trialEmailNoticeConfigRepository.InsertOrUpdateAsync(addOrEditTrialEmailNoticeConfig, true);
return ResponseOutput.Ok(entity.Id.ToString());
}
[HttpDelete("{trialEmailNoticeConfigId:guid}")]
public async Task<IResponseOutput> DeleteTrialEmailNoticeConfig(Guid trialEmailNoticeConfigId)
{
var success = await _trialEmailNoticeConfigRepository.DeleteFromQueryAsync(t => t.Id == trialEmailNoticeConfigId, true);
return ResponseOutput.Ok();
}
}
}