示例#1
0
        // UPDATE
        //------------------------------------------------------------------------------------------------------------
        public bool UpdateFuncao(objFuncao func)
        {
            AcessoDados db = null;

            try
            {
                db = new AcessoDados(_DBPath);
                db.BeginTransaction();

                //--- check duplicated MEMBRO
                //------------------------------------------------------------------------------------------------------------
                db.LimparParametros();
                db.AdicionarParametros("@Funcao", func.Funcao);
                db.AdicionarParametros("@IDFuncao", func.IDFuncao);
                db.ConvertNullParams();

                //--- create and execute query
                string    query = "SELECT * FROM tblFuncao WHERE Funcao = @Funcao AND IDFuncao <> @IDFuncao";
                DataTable dt    = db.ExecutarConsulta(CommandType.Text, query);

                if (dt.Rows.Count > 0)
                {
                    throw new AppException("Já existe uma Função cadastrada que possui o mesmo nome...");
                }

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

                //--- define Params
                db.AdicionarParametros("@Funcao", func.Funcao);
                db.AdicionarParametros("@Ativo", func.Ativo);
                db.AdicionarParametros("@Posicao", func.Posicao);
                db.AdicionarParametros("@IDFuncao", func.IDFuncao);

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

                //--- create query
                query = db.CreateUpdateSQL("tblFuncao", "@IDFuncao");

                //--- update
                db.ExecutarManipulacao(CommandType.Text, query);

                db.CommitTransaction();
                return(true);
            }
            catch (OleDbException ex)
            {
                //--- ROLLBACK
                db.RollBackTransaction();
                throw new AppException(ex.Message);
            }
            catch (Exception ex)
            {
                //--- ROLLBACK
                db.RollBackTransaction();
                throw ex;
            }
        }
        private void btnDescer_Click(object sender, EventArgs e)
        {
            if (dgvListagem.Rows.Count == 0)
            {
                return;
            }

            if (dgvListagem.SelectedCells.Count == 0)
            {
                AbrirDialog("Selecione uma Função para alterar a posição...", "");
                return;
            }

            objFuncao funcao = (objFuncao)dgvListagem.SelectedCells[0].OwningRow.DataBoundItem;

            //--- get max posicao
            var maxPos = list.Max(x => x.Posicao);

            if (funcao.Posicao == maxPos)
            {
                return;
            }

            //--- get the old Funcao with posicao
            int selIndex     = list.IndexOf((classFuncao)funcao);
            var oldFuncaoPos = list[selIndex + 1];

            //--- change alternate positions
            oldFuncaoPos.Posicao -= 1;
            funcao.Posicao       += 1;

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

                fBLL.UpdateFuncao(oldFuncaoPos);
                fBLL.UpdateFuncao(funcao);

                ObterDados();

                dgvListagem.CurrentCell = dgvListagem.Rows[funcao.Posicao - 1].Cells[1];
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Sublevar a posição da Função..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
        private void AtivarDesativar_Click(object sender, EventArgs e)
        {
            //--- verifica se existe alguma cell
            if (dgvListagem.SelectedCells.Count == 0)
            {
                return;
            }

            //--- Verifica o item
            objFuncao funcao = (objFuncao)dgvListagem.SelectedCells[0].OwningRow.DataBoundItem;

            //---pergunta ao usuário
            var reponse = AbrirDialog($"Deseja realmente {(funcao.Ativo ? "DESATIVAR " : "ATIVAR")} essa Função?\n" +
                                      funcao.Funcao.ToUpper(), (funcao.Ativo ? "DESATIVAR " : "ATIVAR"),
                                      DialogType.SIM_NAO, DialogIcon.Question);

            if (reponse == DialogResult.No)
            {
                return;
            }

            //--- altera o valor
            funcao.Ativo = !funcao.Ativo;

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

                fBLL.UpdateFuncao(funcao);

                //--- altera a imagem
                dgvListagem.Refresh();
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Alterar o registro da Função..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
        private void mnuExcluir_Click(object sender, EventArgs e)
        {
            //--- verifica se existe alguma cell
            if (dgvListagem.SelectedCells.Count == 0)
            {
                return;
            }

            //--- Verifica o item
            objFuncao funcao = (objFuncao)dgvListagem.SelectedCells[0].OwningRow.DataBoundItem;

            //---pergunta ao usuário
            var reponse = AbrirDialog($"Deseja realmente EXCLUIR definitivamente essa Função?\n" +
                                      funcao.Funcao.ToUpper(),
                                      "Excluir",
                                      DialogType.SIM_NAO,
                                      DialogIcon.Question);

            if (reponse == DialogResult.No)
            {
                return;
            }

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

                fBLL.DeleteFuncao(funcao);

                //--- altera a imagem
                ObterDados();
            }
            catch (Exception ex)
            {
                AbrirDialog("Uma exceção ocorreu ao Excluir o registro da Função..." + "\n" +
                            ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation);
            }
            finally
            {
                // --- Ampulheta OFF
                Cursor.Current = Cursors.Default;
            }
        }
示例#5
0
        // GET LIST OF FUNCAO
        //------------------------------------------------------------------------------------------------------------
        public List <objFuncao> GetListFuncao()
        {
            try
            {
                AcessoDados db = new AcessoDados(_DBPath);

                string query = "SELECT * FROM tblFuncao";

                // add params
                db.LimparParametros();

                query += " ORDER BY Posicao";

                List <objFuncao> listagem = new List <objFuncao>();
                DataTable        dt       = db.ExecutarConsulta(CommandType.Text, query);

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

                foreach (DataRow row in dt.Rows)
                {
                    objFuncao obj = new objFuncao();

                    obj.IDFuncao           = (byte)row["IDFuncao"];
                    obj.Funcao             = (string)row["Funcao"];
                    obj.ImagemCartaoFrente = row["ImagemCartaoFrente"] == DBNull.Value ? string.Empty : (string)row["ImagemCartaoFrente"];
                    obj.ImagemCartaoVerso  = row["ImagemCartaoVerso"] == DBNull.Value ? string.Empty : (string)row["ImagemCartaoVerso"];
                    obj.Ativo   = (bool)row["Ativo"];
                    obj.Posicao = (byte)row["Posicao"];

                    listagem.Add(obj);
                }

                return(listagem);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        //=================================================================================================
        // TOOLSTRIP MENU
        //=================================================================================================
        #region ATIVAR DESATIVAR MENU

        private void dgvListagem_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                Control c = (Control)sender;
                DataGridView.HitTestInfo hit = dgvListagem.HitTest(e.X, e.Y);
                dgvListagem.ClearSelection();

                //---VERIFICAÇÕES NECESSARIAS
                if (hit.Type != DataGridViewHitTestType.Cell)
                {
                    return;
                }

                // seleciona o ROW
                dgvListagem.Rows[hit.RowIndex].Cells[1].Selected = true;
                dgvListagem.Rows[hit.RowIndex].Selected          = true;

                // mostra o MENU ativar e desativar
                if (dgvListagem.Columns[hit.ColumnIndex].Name == "Ativo")
                {
                    objFuncao congregacao = (objFuncao)dgvListagem.Rows[hit.RowIndex].DataBoundItem;

                    if (congregacao.Ativo == true)
                    {
                        mnuAtivar.Enabled    = false;
                        mnuDesativar.Enabled = true;
                    }
                    else
                    {
                        mnuAtivar.Enabled    = true;
                        mnuDesativar.Enabled = false;
                    }

                    // revela menu
                    MenuListagem.Show(c.PointToScreen(e.Location));
                }
            }
        }
        //--- INSERE NOVO ITEM NO TBL Funcao
        public void ItemAlterar(objFuncao funcao)
        {
            try
            {
                //--- Ampulheta ON
                Cursor = Cursors.WaitCursor;

                fBLL.UpdateFuncao(funcao);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocorreu uma exceção ao atualizar a Função/n" +
                                ex.Message, "Exceção",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                throw ex;
            }
            finally
            {
                //--- Ampulheta OFF
                Cursor = Cursors.Default;
            }
        }
        // CONTROL IMAGES OF LIST DATAGRID
        //------------------------------------------------------------------------------------------------------------
        private void dgvListagem_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
        {
            if (e.ColumnIndex == clnImage.Index)
            {
                objFuncao item = (objFuncao)dgvListagem.Rows[e.RowIndex].DataBoundItem;

                if (item.IDFuncao == null)
                {
                    e.Value = ImgNew;
                }
                else
                {
                    if (item.Ativo)
                    {
                        e.Value = ImgAtivo;
                    }
                    else
                    {
                        e.Value = ImgInativo;
                    }
                }
            }
        }
        //--- INSERE NOVO ITEM NO TBL congregacao
        public byte ItemInserir(objFuncao funcao)
        {
            try
            {
                //--- Ampulheta ON
                Cursor = Cursors.WaitCursor;

                byte newID = fBLL.InsertFuncao(funcao);
                funcao.IDFuncao = newID;
                return(newID);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocorreu uma exceção ao inserir uma nova Função\n" +
                                ex.Message, "Exceção",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                throw ex;
            }
            finally
            {
                //--- Ampulheta OFF
                Cursor = Cursors.Default;
            }
        }
示例#10
0
        // INSERT
        //------------------------------------------------------------------------------------------------------------
        public byte InsertFuncao(objFuncao func)
        {
            AcessoDados db = null;

            try
            {
                db = new AcessoDados(_DBPath);
                db.BeginTransaction();

                //--- check duplicated Funcao
                //------------------------------------------------------------------------------------------------------------
                db.LimparParametros();
                db.AdicionarParametros("@Funcao", func.Funcao.ToLower());
                db.ConvertNullParams();

                //--- create and execute query
                string    query = "SELECT * FROM tblFuncao WHERE LCase(Funcao) = @Funcao";
                DataTable dt    = db.ExecutarConsulta(CommandType.Text, query);

                if (dt.Rows.Count > 0)
                {
                    throw new AppException("Já existe uma Funcao cadastrada que possui o mesmo nome...");
                }

                // GET POSITION FROM COUNT TO
                //------------------------------------------------------------------------------------------------------------
                db.LimparParametros();

                //--- Create NewID = MaxID + 1
                int newPosition = 0;

                //--- create and execute query
                query = "SELECT COUNT(*) AS Total FROM tblFuncao";
                dt    = db.ExecutarConsulta(CommandType.Text, query);

                if (dt.Rows.Count == 0)
                {
                    throw new AppException("Houve uma exceção ao obter o número de registros...");
                }
                else
                {
                    newPosition  = (int)dt.Rows[0][0];
                    newPosition += 1;
                }

                //--- GET LAST/MAX ID FUNCAO
                //------------------------------------------------------------------------------------------------------------
                db.LimparParametros();
                db.AdicionarParametros("@IDFuncao", func.IDFuncao);
                db.ConvertNullParams();

                //--- Create NewID = MaxID + 1
                int newID = 0;

                //--- create and execute query
                query = "SELECT MAX(IDFuncao) AS ID FROM tblFuncao";
                dt    = db.ExecutarConsulta(CommandType.Text, query);

                if (dt.Rows.Count == 0)
                {
                    newID = 1;
                }
                else
                {
                    newID  = (int)dt.Rows[0][0];
                    newID += 1;
                }

                // INSERT NEW FUNCAO
                //------------------------------------------------------------------------------------------------------------
                db.LimparParametros();

                //--- define Params
                db.AdicionarParametros("@IDFuncao", newID);
                db.AdicionarParametros("@Funcao", func.Funcao);
                db.AdicionarParametros("@Ativo", true);
                db.AdicionarParametros("@Posicao", newPosition);

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

                //--- create query
                query = db.CreateInsertSQL("tblFuncao");

                //--- insert
                db.ExecutarManipulacao(CommandType.Text, query);

                //--- COMMIT and RETURN
                db.CommitTransaction();
                return((byte)newID);
            }
            catch (OleDbException ex)
            {
                //--- ROLLBACK
                db.RollBackTransaction();
                throw new AppException(ex.Message);
            }
            catch (Exception ex)
            {
                //--- ROLLBACK
                db.RollBackTransaction();
                throw ex;
            }
        }
示例#11
0
        // DELETE
        //------------------------------------------------------------------------------------------------------------
        public bool DeleteFuncao(objFuncao func)
        {
            AcessoDados db = null;

            try
            {
                db = new AcessoDados(_DBPath);
                db.BeginTransaction();

                //--- check IF used FUNCAO
                //------------------------------------------------------------------------------------------------------------
                db.LimparParametros();
                db.AdicionarParametros("@IDFuncao", func.IDFuncao);
                db.ConvertNullParams();

                //--- create and execute query
                string    query = "SELECT Count(*) AS Total FROM tblMembro WHERE IDFuncao = @IDFuncao";
                DataTable dt    = db.ExecutarConsulta(CommandType.Text, query);

                if (dt.Rows.Count == 0)
                {
                    throw new AppException("Houve uma exceção ao acessar o Banco de Dados...");
                }
                else
                {
                    int Total = (int)dt.Rows[0][0];

                    if (Total > 0)
                    {
                        throw new AppException("Existem registros associados a essa função...\n" +
                                               "Favor alterar os registros associados para outra função antes de excluir.");
                    }
                }

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

                //--- define Params
                db.AdicionarParametros("@IDFuncao", func.IDFuncao);

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

                //--- create query
                query = "DELETE * FROM tblFuncao WHERE IDFuncao = @IDFuncao";

                //--- update
                db.ExecutarManipulacao(CommandType.Text, query);

                db.CommitTransaction();

                // UPDATE POSICAO
                //------------------------------------------------------------------------------------------------------------
                List <objFuncao> list = GetListFuncao();
                byte             i    = 1;

                foreach (var funcao in list)
                {
                    if (funcao.Posicao != i)
                    {
                        funcao.Posicao = i;
                        UpdateFuncao(funcao);
                    }

                    i += 1;
                }

                return(true);
            }
            catch (OleDbException ex)
            {
                //--- ROLLBACK
                db.RollBackTransaction();
                throw new AppException(ex.Message);
            }
            catch (Exception ex)
            {
                //--- ROLLBACK
                db.RollBackTransaction();
                throw ex;
            }
        }