// 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;
            }
        }
예제 #2
0
        // 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;
            }
        }