问题描述
关于返回ASP.NET核心Web API标准DDD,我有一个基本问题。 我们提供的服务和fluentvalidation验证。如果成功,如何返回SiteDto;如果已经存在注册,如何返回警报消息?正确的方法是什么?
public class SiteService : ISiteService
{
private IRepositoryBase<NcSite> _repository;
private readonly IMapper _mapper;
private readonly MyContext _context;
public SiteService(MyContext context,IRepositoryBase<NcSite> repository,IMapper mapper)
{
_repository = repository;
_mapper = mapper;
_context = context;
}
public async Task<SiteDto> Create(SiteDtoCreate site)
{
string returnValidator = string.Empty;
var model = _mapper.Map<SiteModel>(site);
//Validações com fluentvalidation
var validator = new SiteDtovalidator(Operator.Create);
var validRes = validator.Validate(model);
if (!validRes.IsValid)
{
returnValidator = string.Join(",",validRes.Errors).ToString();
return null;
}
//Verifica se Site ja existe com o nome
var id = GetQuery().Where(x => x.Nome.Equals(site.Nome)).FirstOrDefault();
if (id != null)
{
returnValidator = "Site já cadasTrado.";
return null;
}
var entity = _mapper.Map<NcSite>(model);
var result = await _repository.InsertAsync(entity);
return _mapper.Map<SiteDto>(result);
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)