示例#1
0
 private void GravarLancamento(TipoLancamento tipo, decimal valor, string historico)
 {
     _listLancamentos.Add(new Lancamento()
     {
         Data = DateTime.Now, Historico = historico, Tipo = tipo, Valor = valor
     });
 }
示例#2
0
        public bool AlterarTipoLancamento(TipoLancamentoEntity entity)
        {
            bool returnAlterarTipoLancamento = false;


            try
            {
                TipoLancamento obj = new TipoLancamento()
                {
                    idTipoLancamento = entity.idTipoLancamento,
                    Lancamento       = entity.Lancamento,
                    Observacao       = entity.Observacao,
                    Situcao          = entity.Situcao
                };

                returnAlterarTipoLancamento = new LancamentoRepository().AtualizarLancamento(obj);
            }
            catch (Exception ex)
            {
                returnAlterarTipoLancamento = false;
                throw ex;
            }

            return(returnAlterarTipoLancamento);
        }
        public ActionResult Update([FromServices] Context context, [FromBody] TipoLancamento model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            using (var transaction = context.Database.BeginTransaction())
            {
                try
                {
                    context.TipoLancamento.Attach(model);
                    context.Entry(model).State = EntityState.Modified;
                    context.SaveChanges();
                    transaction.Commit();
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    return(BadRequest(e.Message));
                }
            }

            return(Ok(model));
        }
 public Lancamento(TipoLancamento tipo, DateTime data, double valor, Categoria categoria)
 {
     this.tipo = tipo;
     this.data = data;
     this.valor = valor;
     this.categoriaLancamento = categoria;
 }
示例#5
0
        public bool IncluirTipoLancamento(TipoLancamentoEntity entity)
        {
            bool returnIncluirTipoLancamento = false;


            try
            {
                TipoLancamento obj = new TipoLancamento()
                {
                    idTipoLancamento = entity.idTipoLancamento,
                    Lancamento       = entity.Lancamento,
                    Observacao       = entity.Observacao,
                    Situcao          = entity.Situcao
                };

                returnIncluirTipoLancamento = new TipoLancamento().(obj);
            }
            catch (Exception ex)
            {
                returnIncluirTipoLancamento = false;
                throw ex;
            }

            return(returnIncluirTipoLancamento);
        }
示例#6
0
 public Lancamentos(int contaOrigem, TipoLancamento tipo, decimal valor, int?contaDestino = null)
 {
     AlterarContaOrigem(contaOrigem);
     AlterarTipoLancamento(tipo);
     AlterarValor(valor);
     AlterarContaDestino(contaDestino);
     Data = DateTime.Now;
 }
示例#7
0
 public void Cadastrar(TipoLancamento tipoLancamento)
 {
     using (OpFlixContext ctx = new OpFlixContext())
     {
         ctx.TipoLancamento.Add(tipoLancamento);
         ctx.SaveChanges();
     }
 }
        public void Atualizar(TipoLancamento tipoLancamento)
        {
            TipoLancamento TipoBuscado = ctx.TipoLancamento.FirstOrDefault(x => x.IdTipoLancamento == tipoLancamento.IdTipoLancamento);

            TipoBuscado.Tipo = tipoLancamento.Tipo;
            ctx.TipoLancamento.Update(TipoBuscado);
            ctx.SaveChanges();
        }
示例#9
0
 public void Atualizar(TipoLancamento tipoLancamento)
 {
     using (OpFlixContext ctx = new OpFlixContext())
     {
         TipoLancamento TipoBuscado = ctx.TipoLancamento.FirstOrDefault(x => x.IdTipo == tipoLancamento.IdTipo);
         ctx.TipoLancamento.Update(TipoBuscado);
         ctx.SaveChanges();
     }
 }
示例#10
0
        public async Task <Guid> ExecutarTransacaoAsync(ContaCorrente contaCorrenteOrigem, ContaCorrente contaCorrenteDestino,
                                                        TipoLancamento tipoTransacao, decimal valor, CancellationToken cancellationToken)
        {
            var autenticacaoBancariaId = Guid.NewGuid();
            var lancamentos            = new[]
            {
                new Lancamento
                {
                    IdentificadorLancamento = Guid.NewGuid(),
                    IdentificadorTransacao  = autenticacaoBancariaId,
                    IdentificadorConta      = contaCorrenteOrigem.IdentificadorConta,
                    DataLancamento          = DateTimeOffset.UtcNow,
                    TipoLancamento          = TipoLancamento.TransferenciaEntreContas,
                    TipoTransacao           = TipoTransacao.Debito,
                    Valor = valor
                },
                new Lancamento
                {
                    IdentificadorLancamento = Guid.NewGuid(),
                    IdentificadorTransacao  = autenticacaoBancariaId,
                    IdentificadorConta      = contaCorrenteDestino.IdentificadorConta,
                    DataLancamento          = DateTimeOffset.UtcNow,
                    TipoLancamento          = TipoLancamento.TransferenciaEntreContas,
                    TipoTransacao           = TipoTransacao.Credito,
                    Valor = valor
                }
            };

            var lancamentosRealizados = await _lancamentoRepositorio.SalvarLancamentosAsync(lancamentos);

            if (!lancamentosRealizados)
            {
                throw new LancamentosNaoRealizadosException("Ocorreu um erro ao efetuar a transação.");
            }

            var saldoContaOrigem =
                await _lancamentoRepositorio.ObterSaldoContaAsync(contaCorrenteOrigem.IdentificadorConta);

            var saldoContaDestino =
                await _lancamentoRepositorio.ObterSaldoContaAsync(contaCorrenteDestino.IdentificadorConta);

            contaCorrenteOrigem.AtualizarSaldo(saldoContaOrigem);
            contaCorrenteDestino.AtualizarSaldo(saldoContaDestino);

            var contasAtualizadas = await _contaCorrenteRepositorio.AtualizarSaldoContasAsync(new[]
            {
                contaCorrenteOrigem,
                contaCorrenteDestino
            }, cancellationToken);

            if (!contasAtualizadas)
            {
                throw new ApplicationException("Ocorreu um erro ao atualizar o saldo da conta.");
            }

            return(autenticacaoBancariaId);
        }
示例#11
0
        protected void Creditar(TipoLancamento tipo, decimal valor, string historico)
        {
            CheckBloqueio();
            CheckValor(valor);

            GravarLancamento(tipo, valor, historico);

            this.Saldo += valor;
        }
示例#12
0
        public frmLancamento(TipoLancamento tipo)
        {
            InitializeComponent();
            PersistenciaContas persistenciaContas = new PersistenciaContas();

            tipoLancamento        = tipo;
            Contas                = persistenciaContas.ConsultarConta();
            cmbDestino.DataSource = Contas.ToArray();
            cmbOrigem.DataSource  = Contas.ToArray();
        }
示例#13
0
        public Lancamento(TipoLancamento tipo, int contaId, decimal valor)
        {
            Tipo      = tipo;
            ContaId   = contaId;
            Valor     = valor;
            Data      = DateTime.Now;
            Transacao = new Transacao();

            LancamentoValidator.ValidaValor(new Valor(valor));
        }
示例#14
0
 public Lancamentos(int idConta, int idFornecedor, int idCategoria, decimal valor, TipoLancamento tipo, DateTime dataHora, string comentario, int id = -1)
 {
     ID            = id;
     ID_Conta      = idConta;
     ID_Fornecedor = idFornecedor;
     ID_Categoria  = idCategoria;
     Valor         = valor;
     Tipo          = tipo;
     Data_Hora     = dataHora;
     Comentario    = comentario;
 }
示例#15
0
        /// <summary>
        /// Validar regras de lancamentos
        /// </summary>
        /// <param name="tipoLancamento"></param>
        /// <param name="valorLancamento"></param>
        /// <returns></returns>
        protected List <DomainValidationMessage> Validar(TipoLancamento tipoLancamento, decimal valorLancamento)
        {
            List <DomainValidationMessage> messages = new List <DomainValidationMessage>();

            if (tipoLancamento == TipoLancamento.Credito && valorLancamento <= 0)
            {
                messages.Add(new DomainValidationMessage(ValidationLevel.Error, nameof(valorLancamento), "Valor do lancamento de credito, precisa ser maior que zero"));
            }

            return(messages);
        }
示例#16
0
        public Lancamento(DateTime dataOperacao, Conta contaOrigem, TipoLancamento tipo, decimal valorTransferencia)
        {
            if (Equals(contaOrigem, null))
            {
                throw new Exception("Informe uma conta válida!");
            }

            DataOperacao       = dataOperacao;
            ContaOrigem        = contaOrigem;
            Tipo               = tipo;
            ValorTransferencia = valorTransferencia;
        }
示例#17
0
        public Lancamentos(TipoLancamento tipoLancamento, decimal valorLancamento)
        {
            var msgs = this.Validar(tipoLancamento, valorLancamento);

            if (msgs.Count > 0)
            {
                throw new DomainValidationException(msgs);
            }

            this.tipoLancamento  = tipoLancamento;
            this.valorLancamento = valorLancamento;
        }
 public IActionResult Cadastrar(TipoLancamento tipinho)
 {
     try
     {
         TipoLancamentoRepository.Cadastrar(tipinho);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest(new { mensagem = "Erro ao cadastrar" + ex.Message }));
     }
 }
示例#19
0
        public bool IncluirTipoLancamento(TipoLancamento Entity)
        {
            bool returnIncluirLancamento = false;

            using (EderTesteContext context = new EderTesteContext())
            {
                context.TipoLancameto.Add(Entity);
                context.SaveChanges();
                returnIncluirLancamento = true;
            }

            return(returnIncluirLancamento);
        }
示例#20
0
        public bool AtualizarTipoLancamento(TipoLancamento Entity)
        {
            bool returnAtualizarContatoCliente = false;

            using (EderTesteContext context = new EderTesteContext())
            {
                context.TipoLancameto.Attach(Entity);
                context.Entry(Entity).State = EntityState.Modified;
                context.SaveChanges();
                returnAtualizarContatoCliente = true;
            }

            return(returnAtualizarContatoCliente);
        }
示例#21
0
        public Lancamento(
            TipoLancamento tipoLancamento,
            DateTime data,
            decimal valor)
        {
            if (valor <= 0)
            {
                throw new CheckingAccountDomainException("O valor do lançamento deve ser maior que zero");
            }

            TipoLancamento = tipoLancamento;
            Valor          = valor;
            Data           = data;
        }
示例#22
0
        protected void Debitar(TipoLancamento tipo, decimal valor, string historico)
        {
            CheckBloqueio();
            CheckValor(valor);

            if (Saldo < valor)
            {
                throw new InvalidOperationException("Saldo Insuficiente");
            }

            GravarLancamento(tipo, -valor, historico);

            this.Saldo -= valor;
        }
 public IActionResult Atualizar(TipoLancamento tipinho)
 {
     try
     {
         TipoLancamento TipinhoBuscado = TipoLancamentoRepository.BuscarPorId(tipinho.IdTipoLancamento);
         if (TipinhoBuscado == null)
         {
             return(NotFound());
         }
         TipoLancamentoRepository.Atualizar(tipinho);
         return(Ok());
     }
     catch (Exception ex)
     {
         return(BadRequest(new { mensagem = "Erro ao atualizar" + ex.Message }));
     }
 }
        public void AtualizarSaldos(int contaNumero, TipoLancamento tipo, decimal valor)
        {
            ValidarParametrosAtualizarSaldos(contaNumero, valor);

            var conta = _repositorio.ObterContaPorNumero(contaNumero);

            if (conta == null)
            {
                throw new DomainException(nameof(ContaCorrenteService <TContext>), nameof(AtualizarSaldos), "campoObrigatorio", "conta");
            }

            if (tipo == TipoLancamento.Credito)
            {
                conta.AdicionarCredito(valor);
            }
            else
            {
                conta.AdicionarDebito(valor);
            }

            _repositorio.Update(conta);
        }
示例#25
0
 public IActionResult Atualizar(TipoLancamento Tipo, int id)
 {
     Tipo.IdTipo = id;
     TipoRepository.Atualizar(Tipo);
     return(Ok());
 }
        public TipoLancamento BuscarPorId(int id)
        {
            TipoLancamento tipoLancamento = ctx.TipoLancamento.FirstOrDefault(x => x.IdTipoLancamento == id);

            return(tipoLancamento);
        }
 public void Cadastrar(TipoLancamento tipoLancamento)
 {
     ctx.TipoLancamento.Add(tipoLancamento);
     ctx.SaveChanges();
 }
 public void ExibirLancamentosPorTipo(TipoLancamento tipo)
 {
     ExibirLancamentos(RecuperarTodosLancamentos().Where(_item => _item.tipo == tipo).ToList());
 }
 public bool Equals(TipoLancamento x, TipoLancamento y)
 {
     return(x.Id == y.Id);
 }
 public int GetHashCode(TipoLancamento obj)
 {
     return(0);
 }
示例#31
0
 public void AlterarTipoLancamento(TipoLancamento tipo) => Tipo = tipo;
示例#32
0
        //Lançamento
        public static int adicionarLancamento(int idConta, int idFornecedor, int idCategoria, decimal valor, TipoLancamento Tipo, DateTime dataHora, string comentario)
        {
            Lancamentos lancamento = new Lancamentos(idConta, idFornecedor, idCategoria, valor, Tipo, dataHora, comentario);
            Contas      conta      = acessarConta(idConta);

            valor = Math.Abs(valor);

            if (conta.ID == -1)
            {
                return(-1);
            }
            if (Tipo == TipoLancamento.Creditar)
            {
                conta.Saldo += valor;
            }
            else
            {
                conta.Saldo -= valor;
            }

            updateConta(conta);

            return(conn.Insert(lancamento));
        }