Example #1
0
 public PlanoContaRN()
 {
     dao = new PlanoContaDAO();
 }
Example #2
0
        private void CancelarNota()
        {
            decimal Pago = 0, Aberto = 0, Devolucao = 0;

            multacancelamento = (notaFiscalPropria.ValorTotalDocumento * multacancelamento) / 100;

            foreach (var p in notaFiscalPropria.ContaReceber.Parcelas)
            {
                switch (p.Situacao)
                {
                case "Pago":
                    Pago += p.ValorFinal;
                    break;

                case "Aberto":
                    Aberto += p.ValorFinal;
                    break;
                }
            }

            Devolucao = Pago - multacancelamento;


            if (Devolucao > 0)
            {
                MessageBox.Show("Escolha o caixa em que o lançamento será realizado", "Aviso",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);

                Caixa caixa      = new Caixa();
                var   buscaCaixa = new fmCaiBuscaCaixa();
                buscaCaixa.ShowDialog();
                if (buscaCaixa.caixaSelecionada == null)
                {
                    MessageBox.Show("Caixa não selecionado, operação interrompida!", "Erro",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                caixa = buscaCaixa.caixaSelecionada;

                PlanoContaDAO planocontaDAO = new PlanoContaDAO();
                PlanoConta    planoconta    = new PlanoConta();
                planoconta = planocontaDAO.BuscaByID(2);

                caixalancemnto = new CaixaLancamento
                {
                    Data          = DateTime.Today,
                    Valor         = Devolucao,
                    TipoMovimento = 1,
                    TipoDocumento = 6,
                    Lancamento    = 1,
                    Caixa         = caixa,
                    PlanoConta    = planoconta
                };

                var resultado = caixalancamentoDAO.DevolucaoCancelamento(caixalancemnto);

                if (resultado > 0)
                {
                    MessageBox.Show("Lançamento realizado com sucesso!",
                                    "Conta gerada",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Problema ao realizar lançamento",
                                    "Problema ao gerar",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                }
            }
            if (Devolucao < 0)
            {
                //Gerar conta a receber com valor MULTA POR CANCELAMENTO DE NOTA

                Devolucao = Devolucao * -1;

                var par = new ParcelaContaReceber
                {
                    Sequencia      = 1,
                    DataVencimento = DateTime.Today.AddDays(30),
                    Multa          = 0.00m,
                    Juros          = 0,
                    Valor          = Devolucao,
                    Acrescimo      = 0,
                    Desconto       = 0,
                    Descricao      = "Multa por cancelamento de nota",
                    Situacao       = "Aberto"
                };

                List <ParcelaContaReceber> parcelasmulta = new List <ParcelaContaReceber>();
                parcelasmulta.Add(par);

                var contaReceberMulta = new ContaReceber
                {
                    ContaReceberID = contaReceberDAO.BuscaProxCodigoDisponivel(),
                    DataCadastro   = DateTime.Today,
                    DataConta      = dtpSaida.Value,
                    Pessoa         = buscaPessoa.pessoa,
                    Operacao       = buscaOperacao.operacao,
                    ValorOriginal  = Devolucao,
                    Multa          = 0m,
                    Juros          = 0m,
                    ValorFinal     = Devolucao,
                    Acrescimo      = 0m,
                    Desconto       = 0m,
                    Situacao       = "Aberto",
                    Descricao      = "Multa por cancelamento de nota",
                    Entrada        = 0m,
                    Parcelas       = parcelas
                };

                int resultado = contaReceberDAO.SalvaOuAtualiza(contaReceberMulta);

                if (resultado > 0)
                {
                    MessageBox.Show("Conta a Receber gerada com sucesso!",
                                    "Conta gerada",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Problema ao gerar conta a receber",
                                    "Problema ao gerar",
                                    MessageBoxButtons.OK,
                                    MessageBoxIcon.Warning);
                }
            }

            var retorno = notaFiscalPropriaDAO.CancelarNota(notaFiscalPropria);

            if (retorno > 0)
            {
                MessageBox.Show("Nota cancelada com sucesso!",
                                "Conta gerada",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Problema ao cancelar nota",
                                "Problema ao gerar",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Warning);
            }
        }