Exemple #1
0
        public ActionResult Index()
        {
            AgenciaRepository repositoryAgencia = new AgenciaRepository();

            ViewBag.Agencias = repositoryAgencia.ObterTodos();
            return(View());
        }
        public void InitComboBox()
        {
            GenericRepository <Agencia> genericRepository = new GenericRepository <Agencia>(unitOfWork);
            IAgenciaRepository          agenciaRepository = new AgenciaRepository(unitOfWork);

            AgenciasComboBox.ValueMember   = "AgenciaId";
            AgenciasComboBox.DisplayMember = "Nombre";

            AgenciasComboBox.DataSource = agenciaRepository.GetAgencias();
        }
        public bool Deposito(int idAgencia, int conta, decimal valor, out string mensagemErro)
        {
            mensagemErro = "";

            var agencia = AgenciaRepository.GetById(idAgencia);

            if (agencia == null)
            {
                mensagemErro = "Agência inválida!";
                return(false);
            }

            var contaCorrente = ContaRepository.GetById(idAgencia, conta);

            if (contaCorrente == null)
            {
                mensagemErro = "Conta inválida!";
                return(false);
            }

            if (valor <= 0)
            {
                mensagemErro = "Valor do depósito deve ser maior do que 0!";
                return(false);
            }

            contaCorrente.Saldo = contaCorrente.Saldo + valor;

            var extrato = new Extrato()
            {
                DataRegistro = DateTime.Today,
                AgenciaId    = idAgencia,
                ContaId      = conta,
                Valor        = valor,
                Saldo        = contaCorrente.Saldo,
                Descricao    = "Depósito"
            };

            try
            {
                using (var transaction = new TransactionScope())
                {
                    ContaRepository.Save(contaCorrente);
                    ExtratoRepository.Save(extrato);
                    transaction.Complete();
                }
            }
            catch (Exception)
            {
                // incluir isso em um log...
                mensagemErro = "Ocorreu um erro ao fazer o depósito!";
                return(false);
            }
            return(true);
        }
        public bool Deposito(int idAgencia, int numero, string banco, decimal valor, out string mensagemErro)
        {
            mensagemErro = "";

            var agencia = AgenciaRepository.GetById(idAgencia);

            var contaInvestimento = ContaInvestimentoRepository.GetById(idAgencia, numero);

            if (agencia == null)
            {
                mensagemErro = "Agência inválida!";
                return(false);
            }

            if (contaInvestimento == null)
            {
                mensagemErro = "Conta inválida!";
                return(false);
            }

            if (valor < 50)
            {
                mensagemErro = "O valor do depósito precisa ser maior do que 0!";
                return(false);
            }

            contaInvestimento.Saldo = contaInvestimento.Saldo + valor;

            var extrato = new ExtratoInvetimento
            {
                DataRegistro = DateTime.Now,
                Saldo        = contaInvestimento.Saldo,
                IdAgencia    = 0001,
                IdConta      = 1040,
                Valor        = 300m,
                Descricao    = "Depósito"
            };

            try
            {
                using (var transaction = new TransactionScope())
                {
                    ContaInvestimentoRepository.Save(contaInvestimento);
                    ExtratoInvestimentoRepository.Save(extrato);
                    transaction.Complete();
                }
            }
            catch (Exception)
            {
                mensagemErro = "Ocorreu um erro ao fazer o depósito!";
                return(false);
            }

            return(true);
        }
Exemple #5
0
        public bool Deposito(int agencia, int conta, decimal valor, out string mensagemErro)
        {
            mensagemErro = "";
            var ag = AgenciaRepository.GetById(agencia);

            if (ag == null)
            {
                mensagemErro = "Agência Invalida";
                return(false);
            }

            var cc = ContaRepository.GetById(agencia, conta);

            if (cc == null)
            {
                mensagemErro = "Conta Invalida";
                return(false);
            }

            if (valor <= 0)
            {
                mensagemErro = "O valor do deposito for maior que zero!";
                return(false);
            }

            cc.Saldo = cc.Saldo + valor;

            var extrato = new Extrato()
            {
                DataRegistro = DateTime.Now,
                AgenciaId    = agencia,
                ContaId      = conta,
                Valor        = valor,
                Saldo        = cc.Saldo,
                Descricao    = "Deposito"
            };

            try
            {
                using (var t = new TransactionScope())
                {
                    ContaRepository.Save(cc);
                    ExtratoRepository.Save(extrato);
                    t.Complete();
                }
            }
            catch (Exception ex)
            {
                mensagemErro = "Ocorreu um problema ao fazer o depósito!";
                return(false);
            }

            return(true);
        }
Exemple #6
0
        public IList <Extrato> Extrato(int agencia, int conta, DateTime dataInicio, DateTime dataFim, out string mensagemErro)
        {
            mensagemErro = "";
            var ag = AgenciaRepository.GetById(agencia);

            if (ag == null)
            {
                mensagemErro = "Agencia Invalida";
                return(null);
            }

            var cc = ContaRepository.GetById(agencia, conta);

            if (cc == null)
            {
                mensagemErro = "Conta Invalida";
                return(null);
            }

            if (dataInicio > dataFim)
            {
                mensagemErro = "Data inicio deve ser menor que a data de fim!";
                return(null);
            }

            if ((dataFim - dataInicio).Days > 120)
            {
                mensagemErro = "O perido nao deve ser superior a 120 dias!";
                return(null);
            }

            try
            {
                var extrato = ExtratoRepository.GetByPeriodo(agencia, conta, dataInicio, dataFim);

                var linhaSaldo = new Extrato()
                {
                    Descricao = "Saldo anterior",
                    Saldo     = ExtratoRepository.GetSaldoAnterior(agencia, conta, dataInicio, dataFim)
                };

                extrato.Insert(0, linhaSaldo);

                return(extrato);
            }
            catch (Exception ex)
            {
                mensagemErro = "Ocorreu um problema ao obter o extrato!";
                return(null);
            }
        }
        public IList <Extrato> Extrato(int idAgencia, int conta, DateTime dataInicio, DateTime dataFim, out string mensagemErro)
        {
            mensagemErro = "";

            var agencia = AgenciaRepository.GetById(idAgencia);

            if (agencia == null)
            {
                mensagemErro = "Agência inválida!";
                return(null);
            }

            var contaCorrente = ContaRepository.GetById(idAgencia, conta);

            if (contaCorrente == null)
            {
                mensagemErro = "Conta de origem é invalida!";
                return(null);
            }

            if (dataInicio > dataFim)
            {
                mensagemErro = "A data de inicio deve ser menor do que a data fim!";
                return(null);
            }

            if ((dataFim - dataInicio).Days > 120)
            {
                mensagemErro = "O período não deve ser superior a 120 dias!";
                return(null);
            }

            try
            {
                var extratoLista = ExtratoRepository.GetByPeriodo(agencia.Id, conta, dataInicio, dataFim);
                return(extratoLista);
            }
            catch (Exception)
            {
                mensagemErro = "Ocorreu um erro ao fazer obter o extrato!";
                return(null);
            }
        }
Exemple #8
0
 public TiboxUnitOfWork()
 {
     Products         = new BaseRepository <Product>();
     Users            = new UserRepository();
     CatalogoCodigo   = new CatalogoCodigoRepository();
     Zona             = new ZonaRepository();
     Persona          = new PersonaRepository();
     FlujoMaestro     = new FlujoRepository();
     Credito          = new CreditoRepository();
     Lenddo           = new BaseRepository <WebPersonaLenddo>();
     VarNegocio       = new BaseRepository <VarNegocio>();
     Reporte          = new ReporteRepository();
     Documento        = new DocumentoRepository();
     Error            = new ErrorRepository();
     ReglaNegocio     = new ReglaNegocioRepository();
     Menu             = new MenuRepository();
     LibroReclamacion = new LibroReclamacionRepository();
     Agencia          = new AgenciaRepository();
     Electrodomestico = new ElectrodomesticoRepository();
 }
Exemple #9
0
        public ServiceFixture()
        {
            DbContextOptions <GapCodeTestDbContext> options;

            var builder = new DbContextOptionsBuilder <GapCodeTestDbContext>();

            builder.UseInMemoryDatabase("mytestdb");

            options = builder.Options;

            _dbContext = new GapCodeTestDbContext(options);
            _dbContext.Database.EnsureDeleted();
            _dbContext.Database.EnsureCreated();

            _agenciaRepository         = new AgenciaRepository(_dbContext);
            _ciudadRepository          = new CiudadRepository(_dbContext);
            _clienteRepository         = new ClienteRepository(_dbContext);
            _polizaRepository          = new PolizaRepository(_dbContext);
            _tipoCubrimientoRepository = new TipoCubrimientoRepository(_dbContext);
            _tipoRiesgoRepository      = new TipoRiesgoRepository(_dbContext);
        }
Exemple #10
0
        public decimal Saldo(int agencia, int conta, out string mensagemErro)
        {
            mensagemErro = "";
            var ag = AgenciaRepository.GetById(agencia);

            if (ag == null)
            {
                mensagemErro = "Agencia Invalida";
                return(0);
            }

            var cc = ContaRepository.GetById(agencia, conta);

            if (cc == null)
            {
                mensagemErro = "Conta Invalida";
                return(0);
            }

            return(cc.Saldo);
        }
        public decimal Saldo(int agencia, int conta, out string mensagemErro)
        {
            mensagemErro = "";

            var ag = AgenciaRepository.GetById(agencia);

            if (agencia == 0)
            {
                mensagemErro = "Agência inválida!";
                return(0);
            }

            var contaCorrente = ContaRepository.GetById(agencia, conta);

            if (contaCorrente == null)
            {
                mensagemErro = "Conta inválida!";
                return(0);
            }

            return(contaCorrente.Saldo);
        }
        public bool Saque(int idAgencia, int conta, decimal valor, out string mensagemErro)
        {
            mensagemErro = "";

            var agencia = AgenciaRepository.GetById(idAgencia);

            if (agencia == null)
            {
                mensagemErro = "Agência inválida!";
                return(false);
            }

            var contaCorrente = ContaRepository.GetById(idAgencia, conta);

            if (contaCorrente == null)
            {
                mensagemErro = "Conta inválida!";
                return(false);
            }

            if (valor <= 0)
            {
                mensagemErro = "O valor do saque precisa ser maior que zero!";
                return(false);
            }

            if (valor > contaCorrente.Saldo)
            {
                mensagemErro = "O valor do saque precisa ser menor ou igual ao saldo da conta!";
                return(false);
            }

            contaCorrente.Saldo = contaCorrente.Saldo - valor;

            var extrato = new Extrato()
            {
                DataRegistro = DateTime.Now,
                AgenciaId    = idAgencia,
                ContaId      = conta,
                Valor        = valor * -1,
                Saldo        = contaCorrente.Saldo,
                Descricao    = "Saque"
            };

            try
            {
                using (var transaction = new TransactionScope())
                {
                    ContaRepository.Save(contaCorrente);
                    ExtratoRepository.Save(extrato);
                    transaction.Complete();
                }
            }
            catch (Exception)
            {
                // incluir isso em um log...
                mensagemErro = "Ocorreu um erro ao fazer o saque!";
                return(false);
            }
            return(true);
        }
        public bool Transferencia(int agenciaOrigem, int contaOrigem, decimal valor, int agenciaDestino, int contaDestino, out string mensagemErro)
        {
            mensagemErro = "";

            var agOrigem = AgenciaRepository.GetById(agenciaOrigem);

            if (agOrigem == null)
            {
                mensagemErro = "Agência de origem inválida!";
                return(false);
            }

            var contaCorrenteOrigem = ContaRepository.GetById(agenciaOrigem, contaOrigem);

            if (contaCorrenteOrigem == null)
            {
                mensagemErro = "Conta de origem inválida!";
                return(false);
            }

            if (valor <= 0)
            {
                mensagemErro = "O valo deve ser maior do que zero!";
                return(false);
            }

            if (valor > contaCorrenteOrigem.Saldo)
            {
                mensagemErro = "O valor do saque precisa ser menor ou igual ao saldo da conta!";
                return(false);
            }

            var agDestino = AgenciaRepository.GetById(agenciaDestino);

            if (agDestino == null)
            {
                mensagemErro = "Agência de destino inválida!";
                return(false);
            }

            var contaCorrenteDestino = ContaRepository.GetById(agenciaDestino, contaDestino);

            if (contaCorrenteDestino == null)
            {
                mensagemErro = "Conta de destino inválida!";
                return(false);
            }

            contaCorrenteOrigem.Saldo = contaCorrenteOrigem.Saldo - valor;

            var extratoOrigem = new Extrato()
            {
                DataRegistro = DateTime.Now,
                AgenciaId    = agenciaOrigem,
                ContaId      = contaCorrenteOrigem.Id,
                Valor        = valor * -1,
                Saldo        = contaCorrenteDestino.Saldo,
                Descricao    = $"Transferência para Ag {agenciaDestino} Cc {contaCorrenteDestino} ",
            };

            contaCorrenteDestino.Saldo = contaCorrenteDestino.Saldo + valor;

            var extratoDestino = new Extrato()
            {
                DataRegistro = DateTime.Now,
                AgenciaId    = agenciaDestino,
                ContaId      = contaCorrenteDestino.Id,
                Valor        = valor,
                Saldo        = contaCorrenteDestino.Saldo,
                Descricao    = $"Transferência de Ag {agenciaOrigem} Cc {contaCorrenteOrigem} ",
            };

            try
            {
                using (var transaction = new TransactionScope())
                {
                    ContaRepository.Save(contaCorrenteOrigem);
                    ExtratoRepository.Save(extratoOrigem);
                    ExtratoRepository.Save(extratoDestino);
                    transaction.Complete();
                }
            }
            catch (Exception)
            {
                mensagemErro = "Ocorreu um problema ao fazer a tranferência!";
                return(false);
            }

            return(true);
        }
Exemple #14
0
 public AgenciaController()
 {
     repository = new AgenciaRepository();
 }
        public bool Transferencia(int agenciaOrigem, int contaOrigem, decimal valor, int agenciaDestino, int contaDestino, out string mensagemErro)
        {
            mensagemErro = "";

            var agencia = AgenciaRepository.GetById(agenciaOrigem);

            var agDestino = AgenciaRepository.GetById(agenciaDestino);

            var contaInvestimento = ContaInvestimentoRepository.GetById(agenciaOrigem, contaOrigem);

            var ccDestino = ContaInvestimentoRepository.GetById(agenciaDestino, contaDestino);

            if (agencia == null)
            {
                mensagemErro = "Agência de origem não existe!";
                return(false);
            }

            if (agDestino == null)
            {
                mensagemErro = "Agêncica de destino não existe!";
                return(false);
            }

            if (contaInvestimento == null)
            {
                mensagemErro = "Conta de origem não existe!";
                return(false);
            }

            if (ccDestino == null)
            {
                mensagemErro = "Conta destino não existe!";
                return(false);
            }

            if (valor <= 0)
            {
                mensagemErro = "O valor da transferência precisa deve ser maior do que 0!";
                return(false);
            }

            contaInvestimento.Saldo = contaInvestimento.Saldo - valor;

            var extratoContaOrigem = new ExtratoInvetimento()
            {
                DataRegistro = DateTime.Now,
                IdAgencia    = contaInvestimento.Id,
                IdConta      = contaInvestimento.Id,
                Valor        = valor * -1,
                Saldo        = contaInvestimento.Saldo,
                Descricao    = $"Transferência para Ag {agenciaDestino} Cc {contaDestino}",
            };

            contaInvestimento.Saldo = ccDestino.Saldo + valor;

            ccDestino.Saldo = ccDestino.Saldo + valor;

            var extratoContaDestino = new ExtratoInvetimento()
            {
                DataRegistro = DateTime.Now,
                IdAgencia    = ccDestino.AgenciaId,
                IdConta      = ccDestino.Id,
                Valor        = valor,
                Saldo        = ccDestino.Saldo,
                Descricao    = $"Transferência para Ag {agenciaOrigem} Cc {contaInvestimento}",
            };

            try
            {
                using (var transaction = new TransactionScope())
                {
                    ContaInvestimentoRepository.Save(contaInvestimento);
                    ExtratoInvestimentoRepository.Save(extratoContaOrigem);
                    ExtratoInvestimentoRepository.Save(extratoContaDestino);
                    transaction.Complete();
                }
            }
            catch (Exception)
            {
                mensagemErro = "Ocorreu um problema ao fazer a tranferência!";
                return(false);
            }

            return(true);
        }
Exemple #16
0
        public bool Transferencia(int agenciaOrigem, int contaOrigem, decimal valor, int agenciaDestino, int contaDestino, out string mensagemErro)
        {
            mensagemErro = "";
            var ag = AgenciaRepository.GetById(agenciaOrigem);

            if (ag == null)
            {
                mensagemErro = "Agencia de origem Invalida";
                return(false);
            }

            var cc = ContaRepository.GetById(agenciaOrigem, contaOrigem);

            if (cc == null)
            {
                mensagemErro = "Conta de Origem Invalida";
                return(false);
            }

            if (valor <= 0)
            {
                mensagemErro = "O valor deve ser maior que zero!";
                return(false);
            }

            if (valor > cc.Saldo)
            {
                mensagemErro = "O valor deve ser menor ou igual ao saldo da conta de origem!";
                return(false);
            }

            var ag2 = AgenciaRepository.GetById(agenciaDestino);

            if (ag2 == null)
            {
                mensagemErro = "Agencia de destino invalida";
                return(false);
            }

            var cc2 = ContaRepository.GetById(agenciaDestino, contaDestino);

            if (cc2 == null)
            {
                mensagemErro = "Conta de destino inválida!";
                return(false);
            }



            cc.Saldo = cc.Saldo - valor;

            var extratoOrigem = new Extrato()
            {
                DataRegistro = DateTime.Now,
                AgenciaId    = agenciaOrigem,
                ContaId      = contaOrigem,
                Valor        = valor * -1,
                Saldo        = cc.Saldo,
                Descricao    = $"Transferencia para AG {agenciaDestino} CC {contaDestino}"
            };

            cc2.Saldo = cc2.Saldo + valor;

            var extratoDestino = new Extrato()
            {
                DataRegistro = DateTime.Now,
                AgenciaId    = agenciaDestino,
                ContaId      = contaDestino,
                Valor        = valor,
                Saldo        = cc2.Saldo,
                Descricao    = $"Transferencia de AG {agenciaOrigem} CC {contaOrigem}"
            };

            try
            {
                using (var t = new TransactionScope())
                {
                    ContaRepository.Save(cc);
                    ContaRepository.Save(cc2);
                    ExtratoRepository.Save(extratoOrigem);
                    ExtratoRepository.Save(extratoDestino);
                    t.Complete();
                }
            }
            catch (Exception ex)
            {
                mensagemErro = "Ocorreu um problema ao fazer o transferencia!";
                return(false);
            }

            return(true);
        }