public async Task <ProdutoDto> EditarAsync(ProdutoDto produtoDto) { using var dbTransaction = _repository.BeginTransaction(_validator); if (!await _validator.ValidarAsync(produtoDto)) { return(null); } Produto produto = produtoDto.ToEntity(); produto.Prepare(); await _repository.EditarAsync(produto); ProdutoDto dto = produto.ToDto(); await _serviceCache.SalvarAsync(dto.Id, dto); return(dto); }
public async Task <ProdutoDto> CadastrarAsync(ProdutoDto produtoDto) { using var dbTransaction = _repository.BeginTransaction(_validator); if (!await _validator.ValidarAsync(produtoDto)) { return(null); } Produto produto = produtoDto.ToEntity(); produto.Id = _geradorGuidService.GetNexGuid(); produto.Prepare(); Produto produtoDb = await _repository.CadastrarAsync(produto); ProdutoDto dto = produtoDb.ToDto(); await _serviceCache.SalvarAsync(dto.Id, dto); return(dto); }