Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }