예제 #1
0
        public async Task <DefaultResponse <BalancoDia> > Post(
            [FromServices] DataContext context,
            [FromBody] BalancoDia dataBalanco)
        {
            try
            {
                Acoes_LancamentoFinanceiro  acoes          = new Acoes_LancamentoFinanceiro();
                List <LancamentoFinanceiro> lancamentosDia = await context.LancamentosFinanceiros.Where(x => x.DataLancamento == dataBalanco.DataBalanco).ToListAsync();

                var model = acoes.Conciliacao(lancamentosDia);

                context.BalancosDia.Add(model);
                await context.SaveChangesAsync();

                acoes.AtualizarLancamentosAposBalanco(context, lancamentosDia, model.IdBalanco);

                return(new DefaultResponse <BalancoDia>()
                {
                    success = true,
                    message = $"Balanço do dia {dataBalanco.DataBalanco} efetuado com sucesso!",
                    result = model
                });
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
        public async Task <DefaultResponse <LancamentoFinanceiro> > Put(
            [FromServices] DataContext context,
            int id,
            [FromBody] LancamentoFinanceiro model)
        {
            Acoes_LancamentoFinanceiro aux = new Acoes_LancamentoFinanceiro();

            try
            {
                var lancamento = await GetById(context, id);

                bool altera = aux.PodeAtualizarOuApagar(lancamento.Value);

                if (altera)
                {
                    var lancamentoAtualizado = aux.Atualiza(lancamento.Value, model);

                    context.Update(lancamento.Value);

                    await context.SaveChangesAsync();

                    return(new DefaultResponse <LancamentoFinanceiro>()
                    {
                        success = true,
                        message = "Lançamento atualizado com sucesso!",
                        result = lancamentoAtualizado
                    });
                }
                else
                {
                    return(new DefaultResponse <LancamentoFinanceiro>()
                    {
                        success = false,
                        message = "Lançamento não pode ser atualizado porque já foi conciliado!",
                        result = lancamento.Value
                    });
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #3
0
        public async Task <DefaultResponse <LancamentoFinanceiro> > Delete(
            [FromServices] DataContext context,
            int id)
        {
            Acoes_LancamentoFinanceiro aux = new Acoes_LancamentoFinanceiro();

            try
            {
                var lancamento = await GetById(context, id);

                bool podeApagar = aux.PodeAtualizarOuApagar(lancamento.Value);

                if (podeApagar)
                {
                    context.Remove(lancamento.Value);
                    await context.SaveChangesAsync();

                    return(new DefaultResponse <LancamentoFinanceiro>()
                    {
                        success = true,
                        message = "Lancamento apagado com sucesso!",
                        result = lancamento.Value
                    });
                }
                else
                {
                    return(new DefaultResponse <LancamentoFinanceiro>()
                    {
                        success = false,
                        message = "Lançamento não pode ser apagado porque já foi conciliado!",
                        result = lancamento.Value
                    });
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }