Пример #1
0
 protected override void excluirRegistro(int Id)
 {
     base.excluirRegistro(Id);
     Contas_PagarBLL = new Contas_PagarBLL();
     try
     {
         if (Convert.ToInt32(dgvDados[0, dgvDados.CurrentRow.Index].Value) > 0)
         {
             Contas_Pagar Contas_Pagar = Contas_PagarBLL.Localizar(Convert.ToInt32(dgvDados[0, dgvDados.CurrentRow.Index].Value));
             if (MessageBox.Show("Deseja realmente excluir o registro : " + Contas_Pagar.Id.ToString() + " - " + Contas_Pagar.Documento, Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
             {
                 Contas_PagarBLL.ExcluirContas_Pagar(Contas_Pagar);
             }
         }
     }
     finally
     {
         Contas_PagarBLL.Dispose();
     }
 }
Пример #2
0
        private void processaPagamento()
        {
            decimal saldo         = 0;
            decimal saldo_inicial = 0;
            decimal entradas      = 0;
            decimal saidas        = 0;

            try
            {
                //Vamos realizar o processo de pagamento do contas a pagar.
                //Primeiro vamos ver se existe saldo no caixa para o pagamento da conta a pagar
                if (!chkPago.Checked)
                {
                    Livro_CaixaBLL     Livro_CaixaBLL = new Livro_CaixaBLL();
                    List <Livro_Caixa> lstLc          = null;
                    if (Id_filial != null)
                    {
                        lstLc = Livro_CaixaBLL.getLivro_Caixa(p => p.Id_filial == Id_filial & DbFunctions.TruncateTime(p.data) == DbFunctions.TruncateTime(DateTime.Now), true);
                    }
                    else
                    {
                        lstLc = Livro_CaixaBLL.getLivro_Caixa(p => DbFunctions.TruncateTime(p.data) == DbFunctions.TruncateTime(DateTime.Now), true);
                    }


                    Livro_Caixa Livro_Caixa = null;

                    if (lstLc.Count > 0)
                    {
                        Livro_Caixa = lstLc.First();
                    }
                    else
                    {
                        throw new Exception("Não existe movimentação aberta para realizar o pagamento.");
                    }

                    if (Livro_Caixa != null)
                    {
                        if (Livro_Caixa.status != "F")
                        {
                            entradas      = Convert.ToDecimal(Livro_Caixa.item_livro_caixa.Where(p => p.tipo == "E").Sum(c => c.valor));
                            saidas        = Convert.ToDecimal(Livro_Caixa.item_livro_caixa.Where(p => p.tipo == "S").Sum(c => c.valor));
                            saldo_inicial = Convert.ToDecimal(Livro_Caixa.saldo_inicial);

                            //saldo obtido vamos comparar verificar se é suficinete para pagar
                            saldo = ((saldo_inicial + entradas) - (-1 * saidas));

                            decimal valor = Convert.ToDecimal(txtValor.Text);

                            if (valor <= saldo)
                            {
                                //Vamos registrar um item no livro de caixa e atualizar o conta a pagar
                                //com a data de pagamento e o flag de pago.
                                Item_Livro_CaixaBLL Item_LivroBLL = new Item_Livro_CaixaBLL();
                                try
                                {
                                    Item_LivroBLL.UsuarioLogado = Program.usuario_logado;

                                    Item_Livro_Caixa Item_Livro = new Item_Livro_Caixa();

                                    Item_Livro.Id_contaspagar = Convert.ToInt64(Id);
                                    Item_Livro.Id_empresa     = Program.usuario_logado.Id_empresa;

                                    if (Id_filial != null)
                                    {
                                        Item_Livro.Id_filial = Id_filial;
                                    }

                                    Item_Livro.inclusao         = DateTime.Now;
                                    Item_Livro.tipo             = "S";
                                    Item_Livro.descricao        = "Contas a Pagar Documento: " + txtDocumento.Text;
                                    Item_Livro.usuario_inclusao = Program.usuario_logado.nome;
                                    Item_Livro.valor            = valor;
                                    Item_Livro.Id_livro         = Livro_Caixa.Id;

                                    Item_LivroBLL.AdicionarItem_Livro_Caixa(Item_Livro);

                                    if (Item_Livro.Id > 0)
                                    {
                                        Contas_PagarBLL = new Contas_PagarBLL();
                                        Contas_PagarBLL.UsuarioLogado = Program.usuario_logado;
                                        Contas_Pagar cp = Contas_PagarBLL.Localizar(Id);

                                        cp.pago              = "S";
                                        cp.pagamento         = DateTime.Now;
                                        cp.usuario_alteracao = Program.usuario_logado.nome;
                                        cp.alteracao         = DateTime.Now;

                                        Contas_PagarBLL.AlterarContas_Pagar(cp);

                                        LoadToControls();

                                        chkPago.Checked      = true;
                                        chkPago.Enabled      = false;
                                        chkPago.Visible      = true;
                                        btnPagamento.Enabled = false;

                                        btnIncluir.Top     = 40;
                                        btnIncluir.Visible = true;
                                        MessageBox.Show("Processo de Pagamento realizado com sucesso.", Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    }
                                }
                                catch (Exception)
                                {
                                    throw;
                                }
                            }
                            else
                            {
                                throw new Exception("saldo em caixa menor que o valor para pagamento.");
                            }
                        }
                        else
                        {
                            throw new Exception("Não será possivel realizar o pagamento pois a movimentação diária está Fechada");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string mensagem = TrataException.getAllMessage(ex);
                MessageBox.Show(mensagem, Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #3
0
        protected override void LoadToControls()
        {
            base.LoadToControls();

            if (Id != null)
            {
                Contas_PagarBLL = new Contas_PagarBLL();
                Contas_Pagar Contas_Pagar = Contas_PagarBLL.Localizar(Id);

                if (Contas_Pagar != null)
                {
                    txtId.Text = Contas_Pagar.Id.ToString();
                    txtCodCliIntegracao.Text  = Contas_Pagar.cliente.codigo_cliente_integracao;
                    txtClienteNome.Text       = Contas_Pagar.cliente.razao_social;
                    txtIdCliente.Text         = Contas_Pagar.Id_fornecedor.ToString();
                    cbCategoria.SelectedValue = Convert.ToInt64(Contas_Pagar.categoria);
                    txtDocumento.Text         = Contas_Pagar.Documento;
                    txtValor.Text             = Contas_Pagar.valor.Value.ToString("N2");
                    txtDtVencimento.Text      = Contas_Pagar.vencimento.Value.ToShortDateString();
                    txtDtPrevPagamento.Text   = Contas_Pagar.previsao.Value.ToShortDateString();
                    if (Contas_Pagar.pagamento != null)
                    {
                        txtDtPagamento.Text = Contas_Pagar.previsao.Value.ToShortDateString();
                    }
                    txtObs.Text = Contas_Pagar.observacao;

                    chkPago.Checked = Contas_Pagar.pago == "S";
                    chkPago.Enabled = false;
                    chkPago.Visible = chkPago.Checked;

                    txtUsuario.Text    = Contas_Pagar.usuario_inclusao;
                    txtDtInclusao.Text = Contas_Pagar.inclusao.Value.ToShortDateString();
                    txtIdEmpresa.Text  = Contas_Pagar.Id_empresa.ToString();
                    txtIdFilial.Text   = Contas_Pagar.Id_filial.ToString();
                    txtObs.Text        = Contas_Pagar.observacao;

                    //Habilitando o botão de pagamento
                    if (Contas_Pagar.pago == "N")
                    {
                        btnPagamento.Enabled = true;
                        btnPagamento.Visible = true;
                        btnPagamento.TabStop = true;
                    }
                    else
                    {
                        btnPagamento.Enabled = false;
                        btnPagamento.Visible = false;
                        btnPagamento.TabStop = false;
                    }
                }
            }
            else
            {
                if (Parametro.UtilizaFilial())
                {
                    if (Program.usuario_logado.Id_filial != null)
                    {
                        Id_filial = Program.usuario_logado.Id_filial;
                    }
                    else
                    {
                        frmUtilSelecionarFilial frm = new frmUtilSelecionarFilial();

                        if (frm.ExibeDialogo() == DialogResult.OK)
                        {
                            Id_filial = frm.Id;
                        }

                        frm.Dispose();
                    }

                    txtIdFilial.Text = Id_filial.ToString();
                }
                else
                {
                    txtIdFilial.Text = string.Empty;
                }

                txtIdEmpresa.Text = Program.usuario_logado.Id_empresa.ToString();
            }
        }