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(); } }
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); } }
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(); } }