public async override Task <IPagamentoDominio> Incluir(IPagamentoDominio pagamento) { Repositorio.createTransacao(); try { PagamentoDominio pagamentoDominio = ConverterPagamento.converterIPagamentoDominioParaPagamentoDominio(pagamento); pagamentoDominio.NumeroDocumento = NumeroDocumento.Create(pagamento.Nome, pagamento.Telefone).getNumeroDocumento(); int resgistrosAfetados = await incluirPagamento(pagamentoDominio); if (resgistrosAfetados > 0) { Repositorio.Commit(); } else { Repositorio.Rollback(); } this.Pagamento = ConverterPagamento.converterPagamentoDominioParaIPagamentoDominio(pagamentoDominio); } catch (Exception ex) { Repositorio.Rollback(); throw ex; } return(this.Pagamento); }