public void Salvar(ContaTransacaoDTO contaTransacao) { using (var rep = new RepositoryBase <ContaTransacaoEntity>(_configuration)) { rep.Insert(_mapper.GetMapperDtoToEntity(contaTransacao)); } }
public void Atualizar(ContaTransacaoDTO contaTransacao) { using (var rep = new RepositoryBase <ContaTransacaoEntity>(_configuration)) { rep.Update(_mapper.GetMapperDtoToEntity(contaTransacao)); } }
public bool ValidaContasOrigemDestino(ContaTransacaoDTO contaTransacaoDTO) { var listaDeContas = _conta.ListarContas(contaTransacaoDTO.AgContaOrigem, contaTransacaoDTO.NumContaOrigem, contaTransacaoDTO.AgContaDestino, contaTransacaoDTO.NumContaDestino); if (listaDeContas.Count == 0) { throw new ArgumentException("Nenhum conta foi localizada"); } var ContaOrigem = listaDeContas.Find(c => c.ContaAgencia == contaTransacaoDTO.AgContaOrigem && c.ContaNumero == contaTransacaoDTO.NumContaOrigem); if (ContaOrigem == null) { throw new ArgumentException("Conta origem não localizada"); } if (ContaOrigem.Saldo < contaTransacaoDTO.ValorOperacao) { throw new ArgumentException("Saldo insuficiente"); } var ContaDestino = listaDeContas.Find(c => c.ContaAgencia == contaTransacaoDTO.AgContaDestino && c.ContaNumero == contaTransacaoDTO.NumContaDestino); if (ContaDestino == null) { throw new ArgumentException("Conta destino não localizada"); } return(true); }
public void Salvar(ContaTransacaoDTO contaTransacao) { //try //{ bool processarTransacao_Ok = false; var transacaoValida = _validarTransacaoService.TransacaoValida(contaTransacao); if (transacaoValida) { processarTransacao_Ok = _processamentoDeTransacaoService.ProcessarTransacao(contaTransacao); } if (processarTransacao_Ok) { _repository.Salvar(contaTransacao); } else { throw new ArgumentException("Ocorreu uma falha na transação"); } //} //catch (Exception ex) //{ // throw new ArgumentException("Ocorreu uma falha na transação"); //} }
public ObjectResult Post([FromBody] ContaTransacaoDTO contaTransacao) { try { _transacaoApp.Salvar(contaTransacao); return(StatusCode((int)HttpStatusCode.Created, "Operação realizada com sucesso")); } catch (Exception ex) { return(StatusCode((int)HttpStatusCode.OK, ex.Message)); } }
public void CadastrarEmpresa(ContaTransacaoViewModel contaTransacao) { using (HttpClient client = new HttpClient()) { var contaTransacaoDTO = _mapper.Map <ContaTransacaoDTO>(contaTransacao); ServiceBase(client); string parametroJSON = JsonConvert.SerializeObject(contaTransacaoDTO); StringContent conteudo = new StringContent(parametroJSON, Encoding.UTF8, "application/json"); HttpResponseMessage response = client.PostAsync("InserirTransacao", conteudo).Result; string stringData = response.Content.ReadAsStringAsync().Result; ContaTransacaoDTO data = JsonConvert.DeserializeObject <ContaTransacaoDTO>(stringData); } }
public ContaTransacaoViewModel ObterEmpresa(int IdContaTransacao) { using (HttpClient client = new HttpClient()) { ServiceBase(client); HttpResponseMessage response = client.GetAsync("ObterTransacaoById/" + IdContaTransacao).Result; string stringData = response.Content.ReadAsStringAsync().Result; ContaTransacaoDTO data = JsonConvert.DeserializeObject <ContaTransacaoDTO>(stringData); var empresaModel = _mapper.Map <ContaTransacaoViewModel>(data); return(empresaModel); } }
public TransacaoTest() { _TransacaoEsperadaDTO = new ContaTransacaoDTO() { CdTransacao = (int)0, AgContaOrigem = "0123", NumContaOrigem = "10123", AgContaDestino = "0123", NumContaDestino = "20125", TipoOperacao = (int)TipoOperacaoEnum.Credito, ValorOperacao = 250.00M, DataOperacao = DateTime.Now, }; }
public bool TransacaoValida(ContaTransacaoDTO contaTransacaoDTO) { var contaTransacaoEntity = new ContaTransacaoEntity(); var contaTransacaoEntityValida = contaTransacaoEntity.ValidaContaTransacaoEntity( contaTransacaoDTO.CdTransacao, contaTransacaoDTO.AgContaOrigem, contaTransacaoDTO.NumContaOrigem, contaTransacaoDTO.AgContaDestino, contaTransacaoDTO.NumContaDestino, contaTransacaoDTO.TipoOperacao, contaTransacaoDTO.ValorOperacao, contaTransacaoDTO.DataOperacao ); return(true); }
public bool ProcessarTransacao(ContaTransacaoDTO transacaoDTO) { var listaDeContas = _conta.ListarContas(transacaoDTO.AgContaOrigem, transacaoDTO.NumContaOrigem, transacaoDTO.AgContaDestino, transacaoDTO.NumContaDestino); var ContaOrigem = listaDeContas.Find(c => c.ContaAgencia == transacaoDTO.AgContaOrigem && c.ContaNumero == transacaoDTO.NumContaOrigem); var ContaDestino = listaDeContas.Find(c => c.ContaAgencia == transacaoDTO.AgContaDestino && c.ContaNumero == transacaoDTO.NumContaDestino); if (ContaOrigem == null || ContaDestino == null) { throw new ArgumentException("Ocorreu uma falha na transação"); } ContaMovimentoHistoricoDTO movimentoHistoricoContaOrigemDTO = new ContaMovimentoHistoricoDTO() { CdConta = ContaOrigem.CdConta, AgConta = ContaOrigem.ContaAgencia, NumConta = ContaOrigem.ContaNumero, SaldoAnterior = ContaOrigem.Saldo, SaldoAtual = (ContaOrigem.Saldo - transacaoDTO.ValorOperacao), TipoOperacao = (int)TipoOperacaoEnum.Debito, ValorOperacao = transacaoDTO.ValorOperacao, DataOperacao = transacaoDTO.DataOperacao }; ContaMovimentoHistoricoDTO movimentoHistoricoContaDestinoDTO = new ContaMovimentoHistoricoDTO() { CdConta = ContaDestino.CdConta, AgConta = ContaDestino.ContaAgencia, NumConta = ContaDestino.ContaNumero, SaldoAnterior = ContaDestino.Saldo, SaldoAtual = (ContaDestino.Saldo + transacaoDTO.ValorOperacao), TipoOperacao = (int)TipoOperacaoEnum.Credito, ValorOperacao = transacaoDTO.ValorOperacao, DataOperacao = transacaoDTO.DataOperacao }; ContaOrigem.Saldo -= transacaoDTO.ValorOperacao; ContaDestino.Saldo += transacaoDTO.ValorOperacao; _conta.Atualizar(ContaOrigem); _conta.Atualizar(ContaDestino); _historico.Salvar(movimentoHistoricoContaOrigemDTO); _historico.Salvar(movimentoHistoricoContaDestinoDTO); return(true); }
//ContaTransacao public ContaTransacaoEntity GetMapperDtoToEntity(ContaTransacaoDTO contaTransacaoDTO) { return(_mapper.Map <ContaTransacaoEntity>(contaTransacaoDTO)); }
public void Atualizar(ContaTransacaoDTO contaTransacao) { _sevice.Atualizar(contaTransacao); }
public void Salvar(ContaTransacaoDTO contaTransacao) { _sevice.Salvar(contaTransacao); }
public void Atualizar(ContaTransacaoDTO contaTransacao) { _repository.Atualizar(contaTransacao); }