コード例 #1
0
        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)
            {
                return;
            }

            // 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
            objContribuicao contribuicao = (objContribuicao)dgvListagem.Rows[hit.RowIndex].DataBoundItem;

            // mnuDefinir Setor
            mnuDefinirSetor.Enabled = contribuicao.IDSetor == null;

            // revela menu
            mnuOperacoes.Show(c.PointToScreen(e.Location));
        }
コード例 #2
0
        // CONVERT ROW IN CLASS
        //------------------------------------------------------------------------------------------------------------
        public objContribuicao ConvertRowInClass(DataRow row)
        {
            objContribuicao entrada = new objContribuicao((long)row["IDContribuicao"])
            {
                ContribuicaoData   = (DateTime)row["ContribuicaoData"],
                IDEntradaForma     = (byte)row["IDEntradaForma"],
                EntradaForma       = (string)row["EntradaForma"],
                ValorBruto         = (decimal)row["ValorBruto"],
                IDContribuicaoTipo = (byte)row["IDContribuicaoTipo"],
                ContribuicaoTipo   = (string)row["ContribuicaoTipo"],
                IDSetor            = row["IDSetor"] == DBNull.Value ? null : (int?)row["IDSetor"],
                Setor           = row["Setor"] == DBNull.Value ? "A DEFINIR" : (string)row["Setor"],
                IDConta         = (int)row["IDConta"],
                Conta           = (string)row["Conta"],
                IDContribuinte  = row["IDContribuinte"] == DBNull.Value ? null : (int?)row["IDContribuinte"],
                Contribuinte    = row["Contribuinte"] == DBNull.Value ? null : (string)row["Contribuinte"],
                OrigemDescricao = row["OrigemDescricao"] == DBNull.Value ? null : (string)row["OrigemDescricao"],
                IDReuniao       = row["IDReuniao"] == DBNull.Value ? null : (int?)row["IDReuniao"],
                Reuniao         = row["Reuniao"] == DBNull.Value ? null : (string)row["Reuniao"],
                IDCampanha      = row["IDCampanha"] == DBNull.Value ? null : (int?)row["IDCampanha"],
                Campanha        = row["Campanha"] == DBNull.Value ? null : (string)row["Campanha"],
                ValorRecebido   = (decimal)row["ValorRecebido"],
                Realizado       = (bool)row["Realizado"],
            };

            return(entrada);
        }
コード例 #3
0
        // UPDATE UNDEFINED SETOR
        //------------------------------------------------------------------------------------------------------------
        public bool UpdateContribuicaoSetor(objContribuicao entrada)
        {
            try
            {
                AcessoDados db = new AcessoDados();

                //--- clear Params
                db.LimparParametros();

                //--- define Params
                db.AdicionarParametros("@IDContribuicao", entrada.IDContribuicao);
                db.AdicionarParametros("@IDSetor", entrada.IDSetor);

                //--- convert null parameters
                db.ConvertNullParams();

                //--- create query
                string query = db.CreateUpdateSQL("tblContribuicao", "@IDContribuicao");

                //--- update
                db.ExecutarManipulacao(CommandType.Text, query);
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #4
0
        // EXCLUIR CONTRIBUICAO
        //------------------------------------------------------------------------------------------------------------
        private void btnExcluir_Click(object sender, EventArgs e)
        {
            //--- check selected item
            if (dgvListagem.SelectedRows.Count == 0)
            {
                AbrirDialog("Favor selecionar um registro para Excluir...",
                            "Selecionar Registro", DialogType.OK, DialogIcon.Information);
                return;
            }

            //--- get Selected item
            objContribuicao item = (objContribuicao)dgvListagem.SelectedRows[0].DataBoundItem;

            try
            {
                // --- Ampulheta ON
                Cursor.Current = Cursors.WaitCursor;

                // --- ask USER
                var resp = AbrirDialog("Você deseja realmente EXCLUIR definitivamente a Contribuição abaixo?\n" +
                                       $"\nREG: {item.IDContribuicao:D4}\nDATA: {item.ContribuicaoData.ToShortDateString()}\nVALOR: {item.ValorBruto:c}",
                                       "Excluir Contribuição", DialogType.SIM_NAO, DialogIcon.Question, DialogDefaultButton.Second);

                if (resp != DialogResult.Yes)
                {
                    return;
                }

                //--- EXECUTE DELETE
                cBLL.DeleteContribuicao((long)item.IDContribuicao, ContaSaldoLocalUpdate, SetorSaldoLocalUpdate);

                //--- REQUERY LIST
                ObterDados();
            }
            catch (AppException ex)
            {
                AbrirDialog("A contribuição está protegida de exclusão porque:\n" +
                            ex.Message, "Bloqueio de Exclusão", DialogType.OK, DialogIcon.Exclamation);
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Excluir Contribuição..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
コード例 #5
0
        // ABRIR CONTRIBUICAO ESCOLHIDA
        //------------------------------------------------------------------------------------------------------------
        private void btnVisualizar_Click(object sender, EventArgs e)
        {
            //--- check selected item
            if (dgvListagem.SelectedRows.Count == 0)
            {
                AbrirDialog("Favor selecionar um registro para Visualizar...",
                            "Selecionar Registro", DialogType.OK, DialogIcon.Information);
                return;
            }

            //--- get Selected item
            objContribuicao item = (objContribuicao)dgvListagem.SelectedRows[0].DataBoundItem;

            Contribuicao.frmContribuicao frm = new Contribuicao.frmContribuicao(item);
            frm.MdiParent = Application.OpenForms.OfType <frmPrincipal>().FirstOrDefault();
            DesativaMenuPrincipal();
            Close();
            frm.Show();
        }
コード例 #6
0
        // GET CONTRIBUICAO LIST BY SETOR WITH NOT IN COMISSAO COMISSIONADA
        //------------------------------------------------------------------------------------------------------------
        public List <objContribuicao> GetContribuicaoComissaoList(int IDSetor)
        {
            try
            {
                AcessoDados db = new AcessoDados();

                db.LimparParametros();
                db.AdicionarParametros("@IDSetor", IDSetor);

                string query = "SELECT * FROM qryContribuicao AS C " +
                               "JOIN tblContribuicaoTipo AS T " +
                               "ON C.IDContribuicaoTipo = T.IDContribuicaoTipo " +
                               "WHERE " +
                               "IDSetor = @IDSetor " +
                               "AND Realizado = 'TRUE' " +
                               "AND T.ComComissao = 'TRUE' " +
                               "AND IDContribuicao " +
                               "NOT IN (SELECT IDContribuicao FROM tblContribuicaoComissionada)";

                DataTable dt = db.ExecutarConsulta(CommandType.Text, query);

                if (dt.Rows.Count == 0)
                {
                    return(null);
                }

                //--- convert row to Contribuicao
                var list = new List <objContribuicao>();
                var cBLL = new ContribuicaoBLL();

                foreach (DataRow row in dt.Rows)
                {
                    objContribuicao contribuicao = cBLL.ConvertRowInClass(row);
                    list.Add(contribuicao);
                }

                return(list);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #7
0
        // UPDATE
        //------------------------------------------------------------------------------------------------------------
        public bool UpdateContribuicao(objContribuicao entrada)
        {
            try
            {
                AcessoDados db = new AcessoDados();

                //--- clear Params
                db.LimparParametros();

                //--- define Params
                db.AdicionarParametros("@IDContribuicao", entrada.IDContribuicao);
                db.AdicionarParametros("@ContribuicaoData", entrada.ContribuicaoData);
                db.AdicionarParametros("@IDEntradaForma", entrada.IDEntradaForma);
                db.AdicionarParametros("@ValorBruto", entrada.ValorBruto);
                db.AdicionarParametros("@IDContribuicaoTipo", entrada.IDContribuicaoTipo);
                db.AdicionarParametros("@IDSetor", entrada.IDSetor);
                db.AdicionarParametros("@IDConta", entrada.IDConta);
                db.AdicionarParametros("@IDContribuinte", entrada.IDContribuinte);
                db.AdicionarParametros("@OrigemDescricao", entrada.OrigemDescricao);
                db.AdicionarParametros("@IDReuniao", entrada.IDReuniao);
                db.AdicionarParametros("@IDCampanha", entrada.IDCampanha);
                db.AdicionarParametros("@ValorRecebido", entrada.ValorRecebido);
                db.AdicionarParametros("@Realizado", entrada.Realizado);

                //--- convert null parameters
                db.ConvertNullParams();

                //--- create query
                string query = db.CreateUpdateSQL("tblContribuicao", "@IDContribuicao");

                //--- update
                db.ExecutarManipulacao(CommandType.Text, query);
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #8
0
        // GET CONTRIBUICAO LIST INSERTED CONTRIBUICAO IN COMISSAO
        //------------------------------------------------------------------------------------------------------------
        public List <objContribuicao> GetInsertedContribuicaoList(int IDComissao)
        {
            try
            {
                AcessoDados db = new AcessoDados();

                db.LimparParametros();
                db.AdicionarParametros("@IDComissao", IDComissao);

                string query = "SELECT * FROM qryContribuicao WHERE " +
                               "IDContribuicao IN " +
                               "(SELECT IDContribuicao FROM tblContribuicaoComissionada WHERE IDComissao = @IDComissao)";

                DataTable dt = db.ExecutarConsulta(CommandType.Text, query);

                if (dt.Rows.Count == 0)
                {
                    return(null);
                }

                //--- convert row to Contribuicao
                var list = new List <objContribuicao>();
                var cBLL = new ContribuicaoBLL();

                foreach (DataRow row in dt.Rows)
                {
                    objContribuicao contribuicao = cBLL.ConvertRowInClass(row);
                    list.Add(contribuicao);
                }

                return(list);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #9
0
        // INSERT CONTRIBUICAO SIMPLES
        //------------------------------------------------------------------------------------------------------------
        private long AddContribuicao(objContribuicao cont, AcessoDados dbTran)
        {
            try
            {
                //--- clear Params
                dbTran.LimparParametros();

                //--- define Params
                dbTran.AdicionarParametros("@ContribuicaoData", cont.ContribuicaoData);
                dbTran.AdicionarParametros("@IDEntradaForma", cont.IDEntradaForma);
                dbTran.AdicionarParametros("@ValorBruto", cont.ValorBruto);
                dbTran.AdicionarParametros("@IDContribuicaoTipo", cont.IDContribuicaoTipo);
                dbTran.AdicionarParametros("@IDSetor", cont.IDSetor);
                dbTran.AdicionarParametros("@IDConta", cont.IDConta);
                dbTran.AdicionarParametros("@IDContribuinte", cont.IDContribuinte);
                dbTran.AdicionarParametros("@OrigemDescricao", cont.OrigemDescricao);
                dbTran.AdicionarParametros("@IDReuniao", cont.IDReuniao);
                dbTran.AdicionarParametros("@IDCampanha", cont.IDCampanha);
                dbTran.AdicionarParametros("@ValorRecebido", cont.ValorRecebido);
                dbTran.AdicionarParametros("@Realizado", cont.Realizado);

                //--- convert null parameters
                dbTran.ConvertNullParams();

                string query = dbTran.CreateInsertSQL("tblContribuicao");

                //--- insert and Get new ID
                long newID = dbTran.ExecutarInsertAndGetID(query);

                return(newID);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #10
0
        private void mnuDefinirSetor_Click(object sender, EventArgs e)
        {
            //--- check selected item
            if (dgvListagem.SelectedRows.Count == 0)
            {
                AbrirDialog("Favor selecionar um registro para Definir o Setor...",
                            "Selecionar Registro", DialogType.OK, DialogIcon.Information);
                return;
            }

            //--- get Selected item
            objContribuicao item = (objContribuicao)dgvListagem.SelectedRows[0].DataBoundItem;

            try
            {
                // --- Ampulheta ON
                Cursor.Current = Cursors.WaitCursor;

                Setores.frmSetorProcura frm = new Setores.frmSetorProcura(this, item.IDSetor);
                frm.ShowDialog();

                //--- check return
                if (frm.DialogResult != DialogResult.OK)
                {
                    return;
                }

                item.IDSetor = frm.propEscolha.IDSetor;
                item.Setor   = frm.propEscolha.Setor;
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao abrir o formulário de procura de setor..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }

            DialogResult resp;

            resp = AbrirDialog("Deseja realmente DEFINIR o SETOR na contribuição selecionada?" +
                               $"\nSetor Escolhido: {item.Setor.ToUpper()}" +
                               "\nEssa ação será definitiva...",
                               "Definir Setor", DialogType.SIM_NAO,
                               DialogIcon.Question,
                               DialogDefaultButton.Second);

            if (resp != DialogResult.Yes)
            {
                item.CancelEdit();
                return;
            }

            try
            {
                // --- Ampulheta ON
                Cursor.Current = Cursors.WaitCursor;

                cBLL.UpdateContribuicaoSetor(item);
                ObterDados();

                AbrirDialog("Setor Definido com sucesso!",
                            "Setor Definido", DialogType.OK, DialogIcon.Information);
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Definir o Setor..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
コード例 #11
0
        // INSERT
        //------------------------------------------------------------------------------------------------------------
        public long InsertContribuicao(
            objContribuicao cont,
            Action <int, decimal> ContaSldLocalUpdate,
            Action <int, decimal> SetorSldLocalUpdate,
            object forma = null)
        {
            AcessoDados     db       = new AcessoDados();
            long?           newID    = null;
            long?           newMovID = null;
            objMovimentacao entrada  = null;

            try
            {
                db.BeginTransaction();

                //--- Check Conta Bloqueio
                if (!new ContaBLL().ContaDateBlockPermit(cont.IDConta, cont.ContribuicaoData, db))
                {
                    throw new AppException("A Data da Conta está BLOQUEADA nesta Data de Crédito proposta...", 2);
                }

                switch (cont.IDEntradaForma)
                {
                case 1:                         // DINHEIRO

                    //--- Insert Contribuicao
                    cont.Realizado     = true;
                    cont.ValorRecebido = cont.ValorBruto;
                    newID = AddContribuicao(cont, db);

                    //--- Create NEW Entrada
                    entrada = new objMovimentacao(null)
                    {
                        MovTipo         = 1,
                        IDConta         = cont.IDConta,
                        IDSetor         = cont.IDSetor,
                        IDOrigem        = (long)newID,
                        Origem          = EnumMovOrigem.Contribuicao,
                        MovData         = cont.ContribuicaoData,
                        MovValor        = cont.ValorBruto,
                        Consolidado     = true,
                        DescricaoOrigem = "CONTRIBUIÇÃO: " + cont.OrigemDescricao,
                    };

                    //--- Insert MOVIMENTACAO Entrada
                    new MovimentacaoBLL().InsertMovimentacao(entrada, ContaSldLocalUpdate, SetorSldLocalUpdate, db);

                    break;

                case 2:                         // CHEQUE

                    if (forma == null || forma.GetType() != typeof(objContribuicaoCheque))
                    {
                        throw new Exception("Não há registro de informação do cheque...");
                    }

                    //--- Insert Contribuicao
                    cont.Realizado     = false;
                    cont.ValorRecebido = 0;
                    newID = AddContribuicao(cont, db);
                    cont.IDContribuicao = newID;

                    //--- Insert ContribuicaoCheque
                    objContribuicaoCheque cheque = (objContribuicaoCheque)forma;

                    cheque.IDContribuicao = newID;
                    AddContribuicaoCheque(cheque, db);

                    //--- Create NEW MOVIMENTACAO ENTRADA
                    entrada = new objMovimentacao(null)
                    {
                        MovTipo         = 1,
                        IDConta         = cont.IDConta,
                        IDSetor         = cont.IDSetor,
                        IDOrigem        = (long)newID,
                        Origem          = EnumMovOrigem.Contribuicao,
                        MovData         = cont.ContribuicaoData,
                        MovValor        = cont.ValorBruto,
                        Consolidado     = false,
                        DescricaoOrigem = $"CONTRIBUIÇÃO: Cheque no. {cheque.ChequeNumero} {cheque.Banco}",
                    };

                    //--- Insert MOVIMENTACAO Entrada
                    newMovID = new MovimentacaoBLL().InsertMovimentacao(entrada, ContaSldLocalUpdate, SetorSldLocalUpdate, db);

                    //--- Create AReceber
                    var areceber = new objAReceber(null)
                    {
                        CompensacaoData   = cheque.DepositoData,
                        IDContaProvisoria = cont.IDConta,
                        IDContribuicao    = (long)cont.IDContribuicao,
                        IDSituacao        = 1,
                        Situacao          = "Em Aberto",
                        ValorBruto        = cont.ValorBruto,
                        ValorLiquido      = cont.ValorBruto,
                        ValorRecebido     = 0,
                        IDMovProvisoria   = (long)newMovID,
                    };

                    //--- Insert AReceber Parcela
                    new AReceberBLL().InsertAReceber(areceber, db);

                    break;

                case 3:                         // CARTAO

                    if (forma == null || forma.GetType() != typeof(objContribuicaoCartao))
                    {
                        throw new Exception("Não há registro de informação do cartão...");
                    }

                    //--- Check Conta Bloqueio
                    objContribuicaoCartao cartao = (objContribuicaoCartao)forma;

                    if (!new ContaBLL().ContaDateBlockPermit(cartao.IDContaProvisoria, cont.ContribuicaoData, db))
                    {
                        throw new AppException("A Data da Conta está BLOQUEADA nesta Data de Crédito proposta...", 2);
                    }

                    //--- Insert Contribuicao
                    cont.Realizado     = false;
                    cont.ValorRecebido = 0;
                    newID = AddContribuicao(cont, db);
                    cont.IDContribuicao = newID;

                    //--- Insert ContribuicaoCartao
                    cartao.IDContribuicao = newID;
                    AddContribuicaoCartao(cartao, db);

                    //--- Insert ListOf AReceber
                    var listAReceber = new List <objAReceber>();

                    int parcelas = cartao.Parcelas == 0 ? 1 : cartao.Parcelas;

                    // create PARCELAS
                    for (int i = 0; i < parcelas; i++)
                    {
                        var parcela = new objAReceber(null)
                        {
                            CompensacaoData   = cont.ContribuicaoData.AddDays(cartao.Prazo * (i + 1)),
                            IDContaProvisoria = cartao.IDContaProvisoria,
                            IDContribuicao    = (long)cont.IDContribuicao,
                            IDSituacao        = 1,
                            Situacao          = "Em Aberto",
                            ValorBruto        = cont.ValorBruto / parcelas,
                            ValorLiquido      = (cont.ValorBruto / parcelas) * (100 - cartao.TaxaAplicada) / 100,
                            ValorRecebido     = 0
                        };

                        listAReceber.Add(parcela);
                    }

                    var rBLL = new AReceberBLL();
                    var mBLL = new MovimentacaoBLL();

                    int numParcela = 1;

                    //--- Insert ListOf AReceber Parcelas
                    foreach (var parcela in listAReceber)
                    {
                        //--- Create NEW MOVIMENTACAO Entrada
                        entrada = new objMovimentacao(null)
                        {
                            MovTipo     = 1,
                            IDConta     = parcela.IDContaProvisoria,
                            IDSetor     = cont.IDSetor,
                            IDOrigem    = (long)newID,
                            Origem      = EnumMovOrigem.Contribuicao,
                            MovData     = cont.ContribuicaoData,
                            MovValor    = parcela.ValorBruto,
                            Consolidado = false,
                        };

                        //--- define descricao origem of movimentacao
                        if (cartao.Parcelas == 0)
                        {
                            entrada.DescricaoOrigem = $"CONTRIBUIÇÃO: Cartão de Débito {cartao.CartaoBandeira}";
                        }
                        else if (cartao.Parcelas == 1)
                        {
                            entrada.DescricaoOrigem = $"CONTRIBUIÇÃO: Cartão de Crédito {cartao.CartaoBandeira}";
                        }
                        else
                        {
                            entrada.DescricaoOrigem = $"CONTRIBUIÇÃO: Cartão Parcelado {cartao.CartaoBandeira} parcela {numParcela:D2}";
                        }

                        //--- add Parcela
                        numParcela += 1;

                        //--- Insert Entrada
                        newMovID = mBLL.InsertMovimentacao(entrada, ContaSldLocalUpdate, SetorSldLocalUpdate, db);

                        //--- Insert AReceber
                        parcela.IDMovProvisoria = (long)newMovID;
                        rBLL.InsertAReceber(parcela, db);
                    }

                    break;

                default:
                    break;
                }

                if (newID == 0)
                {
                    throw new Exception("Não foi possível inserir um novo registro de Contribuição...");
                }

                db.CommitTransaction();
                return((long)newID);
            }
            catch (Exception ex)
            {
                db.RollBackTransaction();
                throw ex;
            }
        }