// 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; } }
// 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; } }