// DELETE APAGAR //------------------------------------------------------------------------------------------------------------ public bool DeleteAPagar(objAPagar pagar, object dbTran = null) { try { if (pagar.Imagem != null && !string.IsNullOrEmpty(pagar.Imagem.ImagemFileName)) { string errMessage = "Favor remover/desassociar as imagens do APagar se deseja EXCLUIR."; throw new AppException(errMessage); } AcessoDados db = dbTran == null ? new AcessoDados() : (AcessoDados)dbTran; //--- clear Params db.LimparParametros(); //--- define Params db.AdicionarParametros("@IDAPagar", pagar.IDAPagar); //--- convert null parameters db.ConvertNullParams(); //--- create query string query = "DELETE tblAPagar WHERE IDAPagar = @IDAPagar"; //--- update db.ExecutarManipulacao(CommandType.Text, query); return(true); } catch (Exception ex) { throw ex; } }
public frmAPagarQuitar(objAPagar pag, Form formOrigem) { InitializeComponent(); _formOrigem = formOrigem; _apagar = pag; propSaida = new objMovimentacao(null); CarregaComboMes(); HandlerKeyDownControl(this); numSaidaAno.KeyDown += control_KeyDown; numSaidaAno.Enter += Control_Enter; numSaidaDia.KeyDown += control_KeyDown; numSaidaDia.Enter += Control_Enter; // get default Conta and Setor ContaSelected = ContaPadrao(); // get SETOR if (SetorPadrao().IDSetor == pag.IDSetor) { SetorSelected = SetorPadrao(); } else { SetorSelected = GetSetor(pag.IDSetor); } if (ContaSelected == null | SetorSelected == null) { return; } DefineValoresIniciais(); }
// DEFINE APAGAR TO SAVE //------------------------------------------------------------------------------------------------------------ private objAPagar DefineAPagar(List <objComissao> comissoes, DateTime PagData, decimal Total) { // create format Identificador string Id = "comissao: "; comissoes.ForEach(x => Id += ((int)x.IDComissao).ToString("D2") + " | "); Id = Id.Substring(0, Id.Length - 3); if (Id.Length > 40) { Id = Id.Substring(0, 40); } var apagar = new objAPagar(null) { APagarValor = Total, IDCredor = comissoes[0].IDCredor, Identificador = Id, IDSetor = comissoes[0].IDSetor, IDSituacao = 2, PagamentoData = PagData, Parcela = 1, Prioridade = 3, Situacao = "Quitado", ValorPago = Total, Vencimento = PagData, }; return(apagar); }
// VER PAGAMENTOS //------------------------------------------------------------------------------------------------------------ private void mnuItemVerPagamentos_Click(object sender, EventArgs e) { //--- check selected item if (dgvListagem.SelectedRows.Count == 0) { AbrirDialog("Favor selecionar um registro para Ver Pagamentos ou Estornar...", "Selecionar Registro", DialogType.OK, DialogIcon.Information); return; } try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; objAPagar pagItem = (objAPagar)dgvListagem.SelectedRows[0].DataBoundItem; frmAPagarSaidas frm = new frmAPagarSaidas(pagItem, this); frm.ShowDialog(); } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao abrir formulário de Pagamentos..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
public frmAPagarSaidas(objAPagar pag, Form formOrigem) { InitializeComponent(); _formOrigem = formOrigem; _apagar = pag; bind.DataSource = _apagar; BindingCreator(); GetSaidaList(); dgvListagem.DataSource = bindSaida; FormataListagem(); if (_apagar.IDSituacao != 1) // NOT NORMAL { btnQuitar.Enabled = false; btnConcederDesconto.Enabled = false; } DefineValueLabels(); //--- if ORIGEM => frmMovimentacao if (_formOrigem.GetType() == typeof(Contas.frmContaMovimentacao)) { lblDespesaDescricao.Cursor = Cursors.Hand; lblDespesaDescricao.Click += LblDespesaDescricao_Click; lblDespesaDescricao.MouseHover += (a, b) => ShowToolTip(lblDespesaDescricao as Control); } }
private void mnuImagemVisualizar_Click(object sender, EventArgs e) { //--- check selected item if (dgvListagem.SelectedRows.Count == 0) { AbrirDialog("Favor selecionar um registro para Visualizar Imagem...", "Selecionar Registro", DialogType.OK, DialogIcon.Information); return; } //--- get Selected item objAPagar item = (objAPagar)dgvListagem.SelectedRows[0].DataBoundItem; try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; ImagemUtil.ImagemVisualizar(item.Imagem); } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Visualizar a imagem..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// QUITAR A PAGAR AND INSERT NEW SAIDA //------------------------------------------------------------------------------------------------------------ public long QuitarAPagar( objAPagar apagar, objMovimentacao saida, Action <int, decimal> ContaSldLocalUpdate, Action <int, decimal> SetorSldLocalUpdate) { AcessoDados dbTran = null; try { dbTran = new AcessoDados(); dbTran.BeginTransaction(); // Verifica CONTA SALDO ContaBLL cBLL = new ContaBLL(); decimal saldoAtual = cBLL.ContaSaldoGet((int)saida.IDConta, dbTran); if (Math.Abs(saida.MovValor) > saldoAtual) { throw new AppException("Não existe SALDO SUFICIENTE na conta para realizar esse débito...", 1); } // Verifica CONTA BLOQUEIO if (!cBLL.ContaDateBlockPermit((int)saida.IDConta, saida.MovData, dbTran)) { throw new AppException("A Data da Conta está BLOQUEADA nesta Data de Débito proposto...", 2); } // Inserir SAIDA saida.DescricaoOrigem = apagar.DespesaDescricao; long newID = new MovimentacaoBLL().InsertMovimentacao(saida, ContaSldLocalUpdate, SetorSldLocalUpdate, dbTran); saida.IDMovimentacao = newID; // Change APAGAR decimal DoValor = Math.Abs(saida.MovValor) - (saida.AcrescimoValor ?? 0); apagar.ValorAcrescimo += saida.AcrescimoValor ?? 0; apagar.ValorPago += DoValor; if (apagar.ValorPago >= apagar.APagarValor - apagar.ValorDesconto) { apagar.PagamentoData = saida.MovData; apagar.IDSituacao = 2; apagar.Situacao = "Quitada"; } // Update APAGAR UpdateAPagar(apagar, dbTran); dbTran.CommitTransaction(); return(newID); } catch (Exception ex) { dbTran.RollBackTransaction(); throw ex; } }
public frmAPagarDetalhe(objAPagar pag, Form formOrigem) { InitializeComponent(); Size = new Size(530, 536); _formOrigem = formOrigem; _apagar = pag; CheckEditing(); }
private void dgvListagem_MouseDown(object sender, MouseEventArgs e) { // check button if (e.Button != MouseButtons.Right) { return; } Control c = (Control)sender; DataGridView.HitTestInfo hit = dgvListagem.HitTest(e.X, e.Y); dgvListagem.ClearSelection(); if (hit.Type == DataGridViewHitTestType.Cell) { // seleciona o ROW dgvListagem.SelectionMode = DataGridViewSelectionMode.FullRowSelect; dgvListagem.CurrentCell = dgvListagem.Rows[hit.RowIndex].Cells[2]; dgvListagem.Rows[hit.RowIndex].Selected = true; // mostra o MENU ativar e desativar objAPagar desp = (objAPagar)dgvListagem.Rows[hit.RowIndex].DataBoundItem; // mnuImagem bool IsThereImagem = desp.Imagem != null && !string.IsNullOrEmpty(desp.Imagem.ImagemFileName); mnuImagemRemover.Enabled = IsThereImagem; mnuImagemInserir.Text = IsThereImagem ? "Alterar Imagem" : "Inserir Imagem"; mnuImagemVisualizar.Enabled = IsThereImagem; mnuImagemAPagar.Enabled = true; if (_despesa.IDSituacao == 1) { mnuExcluirAPagar.Enabled = true; mnuAdicionarAPagar.Enabled = true; } else { mnuExcluirAPagar.Enabled = false; mnuAdicionarAPagar.Enabled = false; } } else { mnuExcluirAPagar.Enabled = false; mnuImagemAPagar.Enabled = false; if (_despesa.IDSituacao != 1) { mnuAdicionarAPagar.Enabled = false; } } // revela menu mnuOperacoes.Show(c.PointToScreen(e.Location)); }
private void mnuImagemRemover_Click(object sender, EventArgs e) { //--- check selected item if (dgvListagem.SelectedRows.Count == 0) { AbrirDialog("Favor selecionar um registro para Visualizar Imagem...", "Selecionar Registro", DialogType.OK, DialogIcon.Information); return; } //--- get Selected item objAPagar item = (objAPagar)dgvListagem.SelectedRows[0].DataBoundItem; if (item.IDAPagar == null) { AbrirDialog("Não é possível REMOVER imagem de uma Parcela de APagar numa Despesa que ainda não foi salva..." + "\nSalvar a Despesa antes de REMOVER a imagem.", "Inserir Imagem", DialogType.OK, DialogIcon.Exclamation); return; } DialogResult resp; resp = AbrirDialog("Deseja realmente REMOVER ou DESASSOCIAR a imagem da despesa selecionada?" + "\nA imagem não será excluída mas movida para pasta de Imagens Removidas...", "Remover Imagem", DialogType.SIM_NAO, DialogIcon.Question, DialogDefaultButton.Second); if (resp != DialogResult.Yes) { return; } try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; //_despesa.Imagem.ReferenceDate = _despesa.DespesaData; item.Imagem = ImagemUtil.ImagemRemover(item.Imagem); AbrirDialog("Imagem desassociada com sucesso!" + "\nPor segurança a imagem foi guardada na pasta de Imagens Removidas.", "Imagem Removida", DialogType.OK, DialogIcon.Information); } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Remover a imagem..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// ESTORNAR A PAGAR AND DELETE SAIDA //------------------------------------------------------------------------------------------------------------ public bool EstornarAPagar( objAPagar apagar, objMovimentacao saida, Action <int, decimal> ContaSldLocalUpdate, Action <int, decimal> SetorSldLocalUpdate) { AcessoDados dbTran = null; try { dbTran = new AcessoDados(); dbTran.BeginTransaction(); // Verifica CONTA BLOQUEIO ContaBLL cBLL = new ContaBLL(); if (!cBLL.ContaDateBlockPermit((int)saida.IDConta, saida.MovData, dbTran)) { throw new AppException("A Data da Conta está BLOQUEADA nesta Data proposta...", 2); } // CHECK SOURCE DESPESA IS DESPESA COMUM AND CHANGE SITUACAO if (apagar.DespesaOrigem == 1) { var dBLL = new DespesaComumBLL(); dBLL.ChangeSituacaoDespesa(apagar.IDDespesa, 1, dbTran); } // DELETE REMOVE SAIDA new MovimentacaoBLL().DeleteMovimentacao((long)saida.IDMovimentacao, ContaSldLocalUpdate, SetorSldLocalUpdate, dbTran); // Change APAGAR decimal DoValor = saida.MovValor - (saida.AcrescimoValor ?? 0); apagar.ValorAcrescimo -= saida.AcrescimoValor ?? 0; apagar.ValorPago += DoValor; apagar.PagamentoData = null; apagar.IDSituacao = 1; apagar.Situacao = "Em Aberto"; // Update APAGAR UpdateAPagar(apagar, dbTran); dbTran.CommitTransaction(); return(true); } catch (Exception ex) { dbTran.RollBackTransaction(); throw ex; } }
// SUB NEW //------------------------------------------------------------------------------------------------------------ public frmDespesaAPagarItem(objAPagar APagar, decimal maxValor, DateTime minVencimento, Form formOrigem) { InitializeComponent(); _formOrigem = formOrigem; GetFormasList(); _Pag = APagar; bind.DataSource = _Pag; BindingCreator(); _minVencimento = minVencimento; _maxValor = maxValor; dtpVencimento.MinDate = minVencimento; // handlers HandlerKeyDownControl(this); }
// PAGAR LIST OF COMISSAO AND CHANGE SITUATION //------------------------------------------------------------------------------------------------------------ public long ComissoesPagamento( List <objComissao> list, objDespesaComum despesa, objAPagar pagar, objMovimentacao saida, Action <int, decimal> ContaSldLocalUpdate, Action <int, decimal> SetorSldLocalUpdate) { AcessoDados dbTran = null; try { dbTran = new AcessoDados(); dbTran.BeginTransaction(); // insert new Despesa Realizada | Gasto var despBLL = new DespesaComumBLL(); long newID = despBLL.InsertDespesaRealizada(despesa, pagar, saida, ContaSldLocalUpdate, SetorSldLocalUpdate, dbTran); // update all comissoes to PAGO string query = "UPDATE tblComissoes SET " + "IDSituacao = 3, " + "IDDespesa = @IDDespesa " + "WHERE IDComissao = @IDComissao"; foreach (var comissao in list) { dbTran.LimparParametros(); dbTran.AdicionarParametros("@IDDespesa", newID); dbTran.AdicionarParametros("@IDComissao", comissao.IDComissao); dbTran.ExecutarManipulacao(CommandType.Text, query); } dbTran.CommitTransaction(); return(newID); } catch (Exception ex) { dbTran.RollBackTransaction(); throw ex; } }
// CONTROLA AS CORES DA LISTAGEM //------------------------------------------------------------------------------------------------------------ private void dgvListagem_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { objAPagar pagar = (objAPagar)dgvListagem.Rows[e.RowIndex].DataBoundItem; if (e.ColumnIndex == clnSituacao.Index) { if (pagar.Situacao == "Vencida") { dgvListagem.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.MistyRose; dgvListagem.Rows[e.RowIndex].DefaultCellStyle.SelectionBackColor = Color.Firebrick; e.CellStyle.ForeColor = Color.Red; e.CellStyle.SelectionForeColor = Color.Yellow; } else { if ((e.RowIndex + 1) % 2 != 0) // row ODD (impar) { dgvListagem.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.OldLace; dgvListagem.Rows[e.RowIndex].DefaultCellStyle.SelectionBackColor = SystemColors.Highlight; } else // row EVEN (par) { dgvListagem.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White; dgvListagem.Rows[e.RowIndex].DefaultCellStyle.SelectionBackColor = SystemColors.Highlight; } } } else if (e.ColumnIndex == clnVencimento.Index) { if (pagar.Situacao == "Vencida") { e.CellStyle.ForeColor = Color.Red; e.CellStyle.SelectionForeColor = Color.Yellow; } } else if (e.ColumnIndex == 0) // COLOR TO A PAGAR PERIODICO { if (pagar.IDAPagar == null) { dgvListagem.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.DarkBlue; e.Value = "PER"; } } }
// UPDATE //------------------------------------------------------------------------------------------------------------ public bool UpdateAPagar(objAPagar pag, object dbTran = null) { AcessoDados db = dbTran == null ? new AcessoDados() : (AcessoDados)dbTran; try { //--- clear Params db.LimparParametros(); //--- define Params db.AdicionarParametros("@IDAPagar", pag.IDAPagar); db.AdicionarParametros("@APagarValor", pag.APagarValor); db.AdicionarParametros("@IDBanco", pag.IDBanco); db.AdicionarParametros("@IDAPagarForma", pag.IDAPagarForma); db.AdicionarParametros("@IDDespesa", pag.IDDespesa); db.AdicionarParametros("@Identificador", pag.Identificador); db.AdicionarParametros("@IDSituacao", pag.IDSituacao); db.AdicionarParametros("@Parcela", pag.Parcela); db.AdicionarParametros("@Prioridade", pag.Prioridade); db.AdicionarParametros("@ReferenciaAno", pag.ReferenciaAno); db.AdicionarParametros("@ReferenciaMes", pag.ReferenciaMes); db.AdicionarParametros("@ValorPago", pag.ValorPago); db.AdicionarParametros("@ValorAcrescimo", pag.ValorAcrescimo); db.AdicionarParametros("@ValorDesconto", pag.ValorDesconto); db.AdicionarParametros("@Vencimento", pag.Vencimento); db.AdicionarParametros("@PagamentoData", pag.PagamentoData); //--- convert null parameters db.ConvertNullParams(); string query = db.CreateUpdateSQL("tblAPagar", "IDAPagar"); //--- insert and Get new ID db.ExecutarManipulacao(CommandType.Text, query); return(true); } catch (Exception ex) { throw ex; } }
public frmAPagarAlterar(objAPagar pag, Form formOrigem) { InitializeComponent(); _formOrigem = formOrigem; _apagar = pag; GetFormasList(); bind.DataSource = _apagar; BindingCreator(); // If Origem = Periodica enable change valor if (_apagar.DespesaOrigem == 2) { btnAlterarValor.Visible = true; } HandlerKeyDownControl(this); _apagar.PropertyChanged += (a, b) => btnAlterar.Enabled = true; }
// INSERT APAGAR //------------------------------------------------------------------------------------------------------------ private objAPagar InsertAPagar(objAPagar pag, AcessoDados dbTran) { try { //--- clear Params dbTran.LimparParametros(); //--- define Params dbTran.AdicionarParametros("@APagarValor", pag.APagarValor); dbTran.AdicionarParametros("@IDBanco", pag.IDBanco); dbTran.AdicionarParametros("@IDAPagarForma", pag.IDAPagarForma); dbTran.AdicionarParametros("@IDDespesa", pag.IDDespesa); dbTran.AdicionarParametros("@Identificador", pag.Identificador); dbTran.AdicionarParametros("@IDSituacao", pag.IDSituacao); dbTran.AdicionarParametros("@Parcela", pag.Parcela); dbTran.AdicionarParametros("@Prioridade", pag.Prioridade); dbTran.AdicionarParametros("@ReferenciaAno", pag.ReferenciaAno); dbTran.AdicionarParametros("@ReferenciaMes", pag.ReferenciaMes); dbTran.AdicionarParametros("@ValorPago", pag.ValorPago); dbTran.AdicionarParametros("@ValorAcrescimo", pag.ValorAcrescimo); dbTran.AdicionarParametros("@ValorDesconto", pag.ValorDesconto); dbTran.AdicionarParametros("@Vencimento", pag.Vencimento); dbTran.AdicionarParametros("@PagamentoData", pag.PagamentoData); //--- convert null parameters dbTran.ConvertNullParams(); string query = dbTran.CreateInsertSQL("tblAPagar"); //--- insert and Get new ID long newID = dbTran.ExecutarInsertAndGetID(query); pag.IDAPagar = newID; return(pag); } catch (Exception ex) { throw ex; } }
// CONVERT ROW IN CLASS //------------------------------------------------------------------------------------------------------------ public objAPagar ConvertRowInClass(DataRow row) { objAPagar pagar = new objAPagar((long)row["IDAPagar"]) { IDDespesa = (long)row["IDDespesa"], DespesaDescricao = (string)row["DespesaDescricao"], DespesaOrigem = (byte)row["DespesaOrigem"], Identificador = (string)row["Identificador"], Parcela = row["Parcela"] == DBNull.Value ? null : (byte?)row["Parcela"], IDAPagarForma = (int)row["IDAPagarForma"], APagarForma = (string)row["APagarForma"], IDPagFormaModo = (byte)row["IDPagFormaModo"], IDCartaoCredito = row["IDCartaoCredito"] == DBNull.Value ? null : (int?)row["IDCartaoCredito"], APagarValor = (decimal)row["APagarValor"], IDSituacao = (byte)row["IDSituacao"], Situacao = (string)row["Situacao"], IDBanco = row["IDBanco"] == DBNull.Value ? null : (int?)row["IDBanco"], Banco = row["BancoNome"] == DBNull.Value ? string.Empty : (string)row["BancoNome"], Vencimento = (DateTime)row["Vencimento"], PagamentoData = row["PagamentoData"] == DBNull.Value ? null : (DateTime?)row["PagamentoData"], Prioridade = (byte)row["Prioridade"], IDCredor = row["IDCredor"] == DBNull.Value ? null : (int?)row["IDCredor"], Credor = row["Credor"] == DBNull.Value ? string.Empty : (string)row["Credor"], ValorPago = (decimal)row["ValorPago"], ValorAcrescimo = (decimal)row["ValorAcrescimo"], ValorDesconto = (decimal)row["ValorDesconto"], ReferenciaMes = row["ReferenciaMes"] == DBNull.Value ? null : (int?)row["ReferenciaMes"], ReferenciaAno = row["ReferenciaMes"] == DBNull.Value ? null : (int?)row["ReferenciaAno"], IDSetor = (int)row["IDSetor"], Setor = (string)row["Setor"], }; // SET IMAGEM pagar.Imagem.IDOrigem = (long)pagar.IDAPagar; pagar.Imagem.Origem = EnumImagemOrigem.APagar; pagar.Imagem.ImagemFileName = row["ImagemFileName"] == DBNull.Value ? string.Empty : (string)row["ImagemFileName"]; pagar.Imagem.ImagemPath = row["ImagemPath"] == DBNull.Value ? string.Empty : (string)row["ImagemPath"]; return(pagar); }
private void mnuImagemVisualizar_Click(object sender, EventArgs e) { //--- check selected item if (dgvListagem.SelectedRows.Count == 0) { AbrirDialog("Favor selecionar um registro para Visualizar Imagem...", "Selecionar Registro", DialogType.OK, DialogIcon.Information); return; } //--- get Selected item objAPagar item = (objAPagar)dgvListagem.SelectedRows[0].DataBoundItem; if (item.IDAPagar == null) { AbrirDialog("Não é possível visualizar imagem de uma Parcela de APagar numa Despesa que ainda não foi salva..." + "\nSalvar a Despesa antes de Visualizar a imagem.", "Inserir Imagem", DialogType.OK, DialogIcon.Exclamation); return; } try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; ImagemUtil.ImagemVisualizar(item.Imagem); } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Visualizar a imagem..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// CONVERT APAGAR PERIODICO IN REAL //------------------------------------------------------------------------------------------------------------ public objAPagar ConvertPeriodicoInReal(objDespesaPeriodica desp, DateTime Vencimento) { AcessoDados dbTran = null; try { // init transaction dbTran = new AcessoDados(); dbTran.BeginTransaction(); //--- check exists DESP PERIODICA before this var PeriodicoList = CreateListAPagarPeriodica(desp, desp.IniciarData, desp.IniciarData.AddMonths(1)); if (PeriodicoList[0].Vencimento != Vencimento) { throw new AppException($"Não é possível converter em Despesa Real já que existem vencimentos " + $"anteriores dessa despesa periódica.\n" + $"Primeira Data: {PeriodicoList[0].Vencimento:d}"); } // 1. update Despesa Periodica (IniciarData, DespesaValor) desp.IniciarData = Vencimento.AddDays(1); new DespesaPeriodicaBLL().UpdateDespesaPeriodica(desp, dbTran); // 2. create and save APagar objAPagar newPag = CreateAPagarByDespesa(desp, Vencimento); InsertAPagar(newPag, dbTran); // 3. return new APagar dbTran.CommitTransaction(); return(newPag); } catch (Exception ex) { dbTran.RollBackTransaction(); throw ex; } }
private void btnRemoverItem_Click(object sender, EventArgs e) { //--- check selected item if (dgvListagem.SelectedRows.Count == 0) { AbrirDialog("Favor selecionar um registro para REMOVER...", "Selecionar Registro", DialogType.OK, DialogIcon.Information); return; } //--- get Selected item objAPagar item = (objAPagar)dgvListagem.SelectedRows[0].DataBoundItem; try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; //--- Update DB despBLL.RemoverVinculoAPagarItem((long)item.IDAPagar); //--- Remove to list bindAPagar.Remove(item); bindAPagar.ResetBindings(false); } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Excluir registro de APagar..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// IMAGEM MENU //------------------------------------------------------------------------------------------------------------ private void mnuImagemInserir_Click(object sender, EventArgs e) { //--- check selected item if (dgvListagem.SelectedRows.Count == 0) { AbrirDialog("Favor selecionar um registro para Inserir Imagem...", "Selecionar Registro", DialogType.OK, DialogIcon.Information); return; } //--- get Selected item objAPagar item = (objAPagar)dgvListagem.SelectedRows[0].DataBoundItem; try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; objImagem imagem = new objImagem() { IDOrigem = (long)item.IDAPagar, Origem = EnumImagemOrigem.APagar, ImagemFileName = item.Imagem == null ? string.Empty : item.Imagem.ImagemFileName, ImagemPath = item.Imagem == null ? string.Empty : item.Imagem.ImagemPath, ReferenceDate = item.Vencimento, }; // open form to edit or save image bool IsNew = item.Imagem == null || string.IsNullOrEmpty(item.Imagem.ImagemPath); imagem = ImagemUtil.ImagemGetFileAndSave(imagem, this); // check if isUpdated bool IsUpdated = false; if (item.Imagem != null && imagem != null) { IsUpdated = (item.Imagem.ImagemFileName != imagem.ImagemFileName) || (item.Imagem.ImagemPath != imagem.ImagemPath); } // update imagem object item.Imagem = imagem; // emit message if (IsNew && imagem != null) { AbrirDialog("Imagem associada e salva com sucesso!" + "\nPor segurança a imagem foi transferida para a pasta padrão.", "Imagem Salva", DialogType.OK, DialogIcon.Information); } else if (IsUpdated) { AbrirDialog("Imagem alterada com sucesso!" + "\nPor segurança a imagem anterior foi transferida para a pasta de imagens removidas.", "Imagem Alterada", DialogType.OK, DialogIcon.Information); } } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao obter a imagem..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// CRIAR DESPESA DE PAGAMENTO | SAIDA //------------------------------------------------------------------------------------------------------------ private void PagarComissao() { // create list of comissao //--------------------------------------------------------------------- List <objComissao> selected = new List <objComissao>(); selected.Add(_comissao); // check total //--------------------------------------------------------------------- decimal total = _comissao.ValorComissao; // --- ask USER //--------------------------------------------------------------------- var resp = AbrirDialog("Você deseja realmente REALIZAR O PAGAMENTO da Comissão selecionada?" + $"\n\nCOLABORADOR: {_comissao.Credor}" + $"\nVALOR TOTAL: {total:C}", "Quitar Comissões", DialogType.SIM_NAO, DialogIcon.Question, DialogDefaultButton.Second); if (resp != DialogResult.Yes) { return; } try { // open form to get info: CONTA and DATE var frm = new frmComissaoQuitarInfo(selected[0], total, this); frm.ShowDialog(); if (frm.DialogResult != DialogResult.OK) { return; } // create apagar and saida objDespesaComum despesa = DefineDespesa(selected, frm.propDataEscolhida, total); objAPagar pagar = DefineAPagar(selected, frm.propDataEscolhida, total); objMovimentacao saida = DefineSaida( frm.propDataEscolhida, (int)frm.propContaEscolhida.IDConta, selected[0].IDSetor, total, frm.propObservacao); // create Gasto: Despesa quitada long newID = cBLL.ComissoesPagamento ( selected, despesa, pagar, saida, ContaSaldoLocalUpdate, SetorSaldoLocalUpdate ); _comissao.IDDespesa = newID; _comissao.IDSituacao = 3; _comissao.EndEdit(); DefineSituacao(); // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; //--- message resp = AbrirDialog("Pagamento efetuado com sucesso na conta e data informados..." + "\nDeseja CONFERIR a Despesa criada?", "Sucesso", DialogType.SIM_NAO, DialogIcon.Question, DialogDefaultButton.Second); if (resp == DialogResult.Yes) { var frmGt = new Saidas.frmGasto(newID); frmGt.MdiParent = Application.OpenForms[0]; Close(); frmGt.Show(); } } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Efetuar a Finalização das Comissões Selecionadas..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// CRIAR DESPESA DE PAGAMENTO | SAIDA //------------------------------------------------------------------------------------------------------------ private void PagarComissoesSelected() { // create list of selected comissao //--------------------------------------------------------------------- List <objComissao> selected = new List <objComissao>(); foreach (DataGridViewRow row in dgvListagem.Rows) { bool marked = row.Cells[0].Value == null ? false : (bool)row.Cells[0].Value; if (marked) { selected.Add((objComissao)row.DataBoundItem); } } // check same colaborador //--------------------------------------------------------------------- if (selected.GroupBy(x => x.IDCredor).Count() > 1) { AbrirDialog("As Comissões selecionadas pertencem a diversos COLABORADORES diferentes..." + "\nAs Comissões selecionadas devem ser de um ÚNICO Colaborador." + "\nFavor selecionar comissões do mesmo colaborador." , "Diversos Colaboradores", DialogType.OK, DialogIcon.Exclamation); return; } // check total //--------------------------------------------------------------------- decimal total = selected.Sum(x => x.ValorComissao); // --- ask USER //--------------------------------------------------------------------- string mesage = nItemsSelected > 1 ? $"das {nItemsSelected:00} Comissões selecionadas?" : "da Comissão selecionada?"; var resp = AbrirDialog("Você deseja realmente REALIZAR O PAGAMENTO " + mesage + $"\n\nCOLABORADOR: {selected[0].Credor}" + $"\nVALOR TOTAL: {total:C}", "Quitar Comissões", DialogType.SIM_NAO, DialogIcon.Question, DialogDefaultButton.Second); if (resp != DialogResult.Yes) { return; } try { // open form to get info: CONTA and DATE var frm = new frmComissaoQuitarInfo(selected[0], total, this); frm.ShowDialog(); if (frm.DialogResult != DialogResult.OK) { return; } // create apagar and saida objDespesaComum despesa = DefineDespesa(selected, frm.propDataEscolhida, total); objAPagar pagar = DefineAPagar(selected, frm.propDataEscolhida, total); objMovimentacao saida = DefineSaida( frm.propDataEscolhida, (int)frm.propContaEscolhida.IDConta, selected[0].IDSetor, total, frm.propObservacao); // create Gasto: Despesa quitada long newID = cBLL.ComissoesPagamento ( selected, despesa, pagar, saida, ContaSaldoLocalUpdate, SetorSaldoLocalUpdate ); ObterDados(); // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; //--- message resp = AbrirDialog("Pagamento efetuado com sucesso na conta e data informados..." + "\nDeseja CONFERIR a Despesa criada?", "Sucesso", DialogType.SIM_NAO, DialogIcon.Question, DialogDefaultButton.Second); if (resp == DialogResult.Yes) { var frmGt = new Saidas.frmGasto(newID); frmGt.MdiParent = Application.OpenForms[0]; Close(); frmGt.Show(); } } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Efetuar a Finalização das Comissões Selecionadas..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// CONCLUIR DESPESA CARTAO //------------------------------------------------------------------------------------------------------------ public void ConcluirDespesaCartao(objDespesaCartao despesa) { AcessoDados db = null; try { //--- INIT DATABASE db = new AcessoDados(); db.BeginTransaction(); //--- 1. BLOCK ALL DESPESA CARTAO WITH SAME IDCARTAO string query = "UPDATE tblDespesaCartao " + "SET IDSituacao = 3 " + "WHERE IDCartaoCredito = @IDCartaoCredito AND IDSituacao = 2"; db.LimparParametros(); db.AdicionarParametros("@IDCartaoCredito", despesa.IDCartaoCredito); db.ExecutarManipulacao(CommandType.Text, query); //--- 2. UPDATE TBL DESPESA new DespesaBLL().UpdateDespesa(despesa, db); //--- 3. FINALIZE THIS DESPESA CARTAO query = "UPDATE tblDespesaCartao " + "SET IDSituacao = 2 " + "WHERE IDDespesa = @IDDespesa"; db.LimparParametros(); db.AdicionarParametros("@IDDespesa", despesa.IDDespesa); db.ExecutarManipulacao(CommandType.Text, query); //--- 4. GET CARTAO OBJECT var cartao = new APagarCartaoBLL().GetCartaoCreditoDespesa(despesa.IDCartaoCredito, db); //--- 5. GENERATE NEW APAGAR WITH SUM OF VALUES var newPag = new objAPagar(null) { IDSetor = despesa.IDSetor, IDSituacao = 1, APagarValor = despesa.DespesaValor, IDAPagarForma = cartao.IDAPagarForma, IDCredor = despesa.IDCredor, IDDespesa = (long)despesa.IDDespesa, Identificador = $"{despesa.ReferenciaData.Month:D2}-{despesa.ReferenciaData.Year}", Parcela = 1, Vencimento = despesa.ReferenciaData, ReferenciaMes = despesa.ReferenciaData.Month, ReferenciaAno = despesa.ReferenciaData.Year, }; new APagarBLL().InsertAPagarList(new List <objAPagar>() { newPag }, db); //--- COMMIT TRANSACTION db.CommitTransaction(); } catch (Exception ex) { db.RollBackTransaction(); throw ex; } }
// INSERT DESPESA REALIZADA | GASTO | DESPESA QUITADA //------------------------------------------------------------------------------------------------------------ public long InsertDespesaRealizada( objDespesaComum despesa, objAPagar pagar, objMovimentacao saida, Action <int, decimal> ContaSldLocalUpdate, Action <int, decimal> SetorSldLocalUpdate, object dbTran = null) { bool IsTran = dbTran != null; try { // create transaction if (!IsTran) { dbTran = new AcessoDados(); } if (!IsTran) { ((AcessoDados)dbTran).BeginTransaction(); } // Verifica CONTA SALDO ContaBLL cBLL = new ContaBLL(); decimal saldoAtual = cBLL.ContaSaldoGet((int)saida.IDConta, dbTran); if (saida.MovValor > saldoAtual) { throw new AppException("Não existe SALDO SUFICIENTE na conta para realizar esse débito...", 1); } // Verifica CONTA BLOQUEIO if (!cBLL.ContaDateBlockPermit((int)saida.IDConta, saida.MovData, dbTran)) { throw new AppException("A Data da Conta está BLOQUEADA nesta Data de Débito proposto...", 2); } // create APagar list List <objAPagar> listPag = new List <objAPagar>(); listPag.Add(pagar); // insert Despesa AND APagar despesa.IDSituacao = 2; // quitada long newID = InsertDespesaComum(despesa, ref listPag, dbTran); // insert Saida saida.MovTipo = 2; saida.Origem = EnumMovOrigem.APagar; saida.IDOrigem = (long)listPag[0].IDAPagar; saida.DescricaoOrigem = $"DESPESA: {despesa.DespesaDescricao}"; if (saida.DescricaoOrigem.Length > 250) { saida.DescricaoOrigem = saida.DescricaoOrigem.Substring(0, 250); } new MovimentacaoBLL().InsertMovimentacao(saida, ContaSldLocalUpdate, SetorSldLocalUpdate, dbTran); // commit and return if (!IsTran) { ((AcessoDados)dbTran).CommitTransaction(); } return(newID); } catch (Exception ex) { if (!IsTran) { ((AcessoDados)dbTran).RollBackTransaction(); } throw ex; } }