Exemple #1
0
        public ValidationResult Lancamento(TransacaoEntity entrada)
        {
            var transacaoValidation = new TransacaoValidation().Valid(entrada);

            if (transacaoValidation.IsValid)
            {
                var contasLancamento = new Transacao().TransacaoAdapters(entrada);

                var clienteContaOrigem = new TransacaoRepository().ConsultarInformacaoCliente(contasLancamento.Conta);

                if (clienteContaOrigem != null)
                {
                    var saldoOrigem = new TransacaoRepository().AtualizarSaldoCliente(entrada.ContaOrigem, (clienteContaOrigem.SALDO - entrada.ContaDestinoValorTransacao));

                    var clienteContaDestino = new TransacaoRepository().ConsultarInformacaoCliente(contasLancamento.ContaDestino);

                    if (clienteContaDestino != null)
                    {
                        var saldodestino = new TransacaoRepository().AtualizarSaldoCliente(entrada.ContaDestino, (clienteContaDestino.SALDO + entrada.ContaDestinoValorTransacao));

                        if (saldoOrigem == 1 && saldodestino == 1)
                        {
                            var logtransacao = new TransacaoRepository().InserirLogTransacao(entrada, (clienteContaOrigem.SALDO - entrada.ContaDestinoValorTransacao), (clienteContaDestino.SALDO + entrada.ContaDestinoValorTransacao));

                            transacaoValidation.Success = true;
                        }
                    }
                }
            }
            else
            {
                transacaoValidation.Errors.ToList().ForEach(item => entrada.AdicionarResultadoDeValidacao(item));
            }
            return(transacaoValidation);
        }
Exemple #2
0
 public TransacaoController(TransacaoRepository transacaoRepository, ContaRepository contaRepository, SalvaTransacaoService salvaTransacaoService, MovimentoRepository movimentoRepository)
 {
     this.transacaoRepository   = transacaoRepository;
     this.contaRepository       = contaRepository;
     this.salvaTransacaoService = salvaTransacaoService;
     this.movimentoRepository   = movimentoRepository;
 }
 public TransacoesController()
 {
     contaRepository = new ContaRepository(new ContextFactory());
     categoriaRepository = new CategoriaRepository(new ContextFactory());
     journalRepository = new JournalRepository(new ContextFactory());
     transacaoRepository = new TransacaoRepository(new ContextFactory());
     extratoServices = new ExtratoServices();
 }
Exemple #4
0
        public UnitTest1()
        {
            var optionsBuilder = new DbContextOptionsBuilder <DBCoreContext>();

            optionsBuilder.UseSqlServer(connection);
            var repoInjection = new TransacaoRepository(new DBCoreContext(optionsBuilder.Options));

            injection = new App(repoInjection);
        }
Exemple #5
0
        public TransacaoRepositoryTest()
        {
            var transacoes = new LeitorCsvRepository().LerCSVParaListaTransacaoModel(Const.DadosCsv);

            RepositorioSobreTeste = new TransacaoRepository(transacoes);
        }
 /// <summary>
 /// Contrutor default, recebendo DI os repositorios
 /// </summary>
 /// <param name="transacaoRepository">Repositorio de transação</param>
 /// <param name="contaRepository">Repositório de conta</param>
 public TransacaoController(TransacaoRepository transacaoRepository, ContaRepository contaRepository)
 {
     this.transacaoRepository = transacaoRepository;
     this.contaRepository     = contaRepository;
 }