// SUB NEW //------------------------------------------------------------------------------------------------------------ public frmContribuinte(objContribuinte obj, Form formOrigem) { InitializeComponent(); _contribuinte = obj; _formOrigem = formOrigem; bind.DataSource = _contribuinte; BindingCreator(); _contribuinte.PropertyChanged += RegistroAlterado; if (_contribuinte.IDCongregacao == null) { Sit = EnumFlagEstado.NovoRegistro; } else { Sit = EnumFlagEstado.RegistroSalvo; } AtivoButtonImage(); // ADD HANDLERS HandlerKeyDownControl(this); txtIDMembro.LostFocus += TxtIDMembro_LostFocus; txtIDMembro.GotFocus += TxtIDMembro_GotFocus; txtCongregacao.Enter += text_Enter; txtContribuinte.Validating += (a, b) => PrimeiraLetraMaiuscula(txtContribuinte); }
// BTN EDITAR //------------------------------------------------------------------------------------------------------------ private void btnEditar_Click(object sender, EventArgs e) { //--- check formOrigem if (_formOrigem.GetType() != typeof(frmPrincipal)) { return; } //--- check selected item if (dgvListagem.SelectedRows.Count == 0) { AbrirDialog("Favor selecionar um registro para Editar...", "Selecionar Registro", DialogType.OK, DialogIcon.Information); return; } //--- get Selected item objContribuinte item = (objContribuinte)dgvListagem.SelectedRows[0].DataBoundItem; //--- check ANONIMO if (item.IDContribuinte == 0) { AbrirDialog("Não é possível editar o contribuinte ANÔNIMO...", "Contribuinte ANÔNIMO", DialogType.OK, DialogIcon.Information); return; } //--- open edit form frmContribuinte frm = new frmContribuinte(item, null); frm.MdiParent = Application.OpenForms.OfType <frmPrincipal>().FirstOrDefault(); DesativaMenuPrincipal(); Close(); frm.Show(); }
// NOVO REGISTRO INSERIR //------------------------------------------------------------------------------------------------------------ private void btnNovo_Click(object sender, EventArgs e) { if (Sit != EnumFlagEstado.RegistroSalvo) { return; } _contribuinte = new objContribuinte(null); Sit = EnumFlagEstado.NovoRegistro; AtivoButtonImage(); bind.DataSource = _contribuinte; txtContribuinte.Focus(); }
// CONTROL IMAGES OF LIST DATAGRID //------------------------------------------------------------------------------------------------------------ private void dgvListagem_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.ColumnIndex == 3) { objContribuinte item = (objContribuinte)dgvListagem.Rows[e.RowIndex].DataBoundItem; if (item.Ativo) { e.Value = ImgAtivo; } else { e.Value = ImgInativo; } } }
// BTN ESCOLHER //------------------------------------------------------------------------------------------------------------ private void btnEscolher_Click(object sender, EventArgs e) { //--- check selected item if (dgvListagem.SelectedRows.Count == 0) { AbrirDialog("Favor selecionar um registro para Escolher...", "Selecionar Registro", DialogType.OK, DialogIcon.Information); return; } //--- get Selected item objContribuinte item = (objContribuinte)dgvListagem.SelectedRows[0].DataBoundItem; propEscolha = item; DialogResult = DialogResult.OK; }
private void AtivarDesativar_Click(object sender, EventArgs e) { //--- verifica se existe alguma cell if (dgvListagem.SelectedRows.Count == 0) { return; } //--- Verifica o item objContribuinte contribuinte = (objContribuinte)dgvListagem.SelectedRows[0].DataBoundItem; //---pergunta ao usuário var reponse = AbrirDialog($"Deseja realmente {(contribuinte.Ativo ? "DESATIVAR " : "ATIVAR")} esse Contribuinte?\n" + contribuinte.Contribuinte.ToUpper(), (contribuinte.Ativo ? "DESATIVAR " : "ATIVAR"), DialogType.SIM_NAO, DialogIcon.Question); if (reponse == DialogResult.No) { return; } //--- altera o valor contribuinte.Ativo = !contribuinte.Ativo; //--- Salvar o Registro try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; ContribuinteBLL cBLL = new ContribuinteBLL(); cBLL.UpdateContribuinte(contribuinte); //--- altera a imagem ObterDados(sender, null); } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Alterar Contribuinte..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// CONVERT ROW IN CLASS //------------------------------------------------------------------------------------------------------------ public objContribuinte ConvertRowInClass(DataRow row) { objContribuinte contribuinte = new objContribuinte((int)row["IDContribuinte"]) { Contribuinte = (string)row["Contribuinte"], NascimentoData = row["NascimentoData"] == DBNull.Value ? null : (DateTime?)row["NascimentoData"], IDMembro = row["IDMembro"] == DBNull.Value ? null : (int?)row["IDMembro"], Dizimista = row["Dizimista"] == DBNull.Value ? false : (bool)row["Dizimista"], CNP = row["CNP"] == DBNull.Value ? "" : (string)row["CNP"], Ativo = (bool)row["Ativo"], IDCongregacao = row["IDCongregacao"] == DBNull.Value ? null : (int?)row["IDCongregacao"], TelefoneCelular = row["TelefoneCelular"] == DBNull.Value ? "" : (string)row["TelefoneCelular"], Congregacao = row["Congregacao"] == DBNull.Value ? "" : (string)row["Congregacao"] }; return(contribuinte); }
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[0].Selected = true; dgvListagem.Rows[hit.RowIndex].Selected = true; // mostra o MENU ativar e desativar if (dgvListagem.Columns[hit.ColumnIndex].Name == "Ativo") { objContribuinte contribuinte = (objContribuinte)dgvListagem.Rows[hit.RowIndex].DataBoundItem; if (contribuinte.Ativo == true) { AtivarToolStripMenuItem.Enabled = false; DesativarToolStripMenuItem.Enabled = true; } else { AtivarToolStripMenuItem.Enabled = true; DesativarToolStripMenuItem.Enabled = false; } // revela menu MenuListagem.Show(c.PointToScreen(e.Location)); } } }
// UPDATE //------------------------------------------------------------------------------------------------------------ public bool UpdateContribuinte(objContribuinte contribuinte) { AcessoDados db = null; try { db = new AcessoDados(); db.BeginTransaction(); //--- check duplicated CONTRIBUINTE //------------------------------------------------------------------------------------------------------------ db.LimparParametros(); db.AdicionarParametros("@Contribuinte", contribuinte.Contribuinte); db.AdicionarParametros("@IDContribuinte", contribuinte.IDContribuinte); db.ConvertNullParams(); //--- create and execute query string query = "SELECT * FROM tblContribuinte WHERE Contribuinte = @Contribuinte AND IDContribuinte <> @IDContribuinte"; DataTable dt = db.ExecutarConsulta(CommandType.Text, query); if (dt.Rows.Count > 0) { throw new AppException("Já existe um Contribuinte cadastrado que possui o mesmo nome..."); } //--- check duplicated CNP //------------------------------------------------------------------------------------------------------------ string CNP = contribuinte.CNP.Replace("/", "").Replace("-", "").Replace(".", "").Trim(); if (!string.IsNullOrEmpty(CNP)) { db.LimparParametros(); db.AdicionarParametros("@CNP", contribuinte.CNP); db.AdicionarParametros("@IDContribuinte", contribuinte.IDContribuinte); db.ConvertNullParams(); //--- create and execute query query = "SELECT * FROM tblContribuinte WHERE CNP = @CNP AND IDContribuinte <> @IDContribuinte"; dt = db.ExecutarConsulta(CommandType.Text, query); if (dt.Rows.Count > 0) { throw new AppException("Já existe um Contribuinte cadastrado que possui o mesmo CPF..."); } } else { contribuinte.CNP = string.Empty; } //--- UPDATE //------------------------------------------------------------------------------------------------------------//--- clear Params db.LimparParametros(); //--- define Params db.AdicionarParametros("@IDContribuinte", contribuinte.IDContribuinte); db.AdicionarParametros("@Contribuinte", contribuinte.Contribuinte); db.AdicionarParametros("@NascimentoData", contribuinte.NascimentoData); db.AdicionarParametros("@IDMembro", contribuinte.IDMembro); db.AdicionarParametros("@Dizimista", contribuinte.Dizimista); db.AdicionarParametros("@CNP", contribuinte.CNP); db.AdicionarParametros("@IDCongregacao", contribuinte.IDCongregacao); db.AdicionarParametros("@TelefoneCelular", contribuinte.TelefoneCelular); db.AdicionarParametros("@Ativo", contribuinte.Ativo); //--- convert null parameters db.ConvertNullParams(); //--- create query query = "UPDATE tblContribuinte SET " + "Contribuinte = @Contribuinte, NascimentoData = @NascimentoData, " + "IDMembro = @IDMembro, Dizimista = @Dizimista, TelefoneCelular = @TelefoneCelular, " + "CNP = @CNP, IDCongregacao = @IDCongregacao, Ativo = @Ativo " + "WHERE " + "IDContribuinte = @IDContribuinte"; //--- update db.ExecutarManipulacao(CommandType.Text, query); db.CommitTransaction(); return(true); } catch (SqlException ex) { //--- ROLLBACK db.RollBackTransaction(); if (ex.Number == 2627) { throw new AppException("Já existe um Contribuinte com o mesmo nome..."); } else { throw ex; } } catch (Exception ex) { //--- ROLLBACK db.RollBackTransaction(); throw ex; } }
// INSERT //------------------------------------------------------------------------------------------------------------ public int InsertContribuinte(objContribuinte contribuinte) { AcessoDados db = null; try { db = new AcessoDados(); db.BeginTransaction(); //--- check duplicated CONTRIBUINTE //------------------------------------------------------------------------------------------------------------ db.LimparParametros(); db.AdicionarParametros("@Contribuinte", contribuinte.Contribuinte); db.ConvertNullParams(); //--- create and execute query string query = "SELECT * FROM tblContribuinte WHERE Contribuinte = @Contribuinte"; DataTable dt = db.ExecutarConsulta(CommandType.Text, query); if (dt.Rows.Count > 0) { throw new AppException("Já existe um Contribuinte cadastrado que possui o mesmo nome..."); } //--- check duplicated CNP //------------------------------------------------------------------------------------------------------------ string CNP = contribuinte.CNP.Replace("/", "").Replace("-", "").Replace(".", "").Trim(); if (!string.IsNullOrEmpty(CNP)) { db.LimparParametros(); db.AdicionarParametros("@CNP", contribuinte.CNP); db.ConvertNullParams(); //--- create and execute query query = "SELECT * FROM tblContribuinte WHERE CNP = @CNP"; dt = db.ExecutarConsulta(CommandType.Text, query); if (dt.Rows.Count > 0) { throw new AppException("Já existe um Contribuinte cadastrado que possui o mesmo CPF..."); } } else { contribuinte.CNP = string.Empty; } // INSERT Contribuinte //------------------------------------------------------------------------------------------------------------ db.LimparParametros(); //--- define Params db.AdicionarParametros("@Contribuinte", contribuinte.Contribuinte); db.AdicionarParametros("@NascimentoData", contribuinte.NascimentoData); db.AdicionarParametros("@IDMembro", contribuinte.IDMembro); db.AdicionarParametros("@Dizimista", contribuinte.Dizimista); db.AdicionarParametros("@CNP", contribuinte.CNP); db.AdicionarParametros("@IDCongregacao", contribuinte.IDCongregacao); db.AdicionarParametros("@TelefoneCelular", contribuinte.TelefoneCelular); db.AdicionarParametros("@Ativo", contribuinte.Ativo); //--- convert null parameters db.ConvertNullParams(); //--- create query query = "INSERT INTO tblContribuinte (" + "Contribuinte, NascimentoData, IDMembro, Dizimista, " + "CNP, IDCongregacao, TelefoneCelular, Ativo " + ") VALUES (" + "@Contribuinte, @NascimentoData, @IDMembro, @Dizimista, " + "@CNP, @IDCongregacao, @TelefoneCelular, @Ativo)"; //--- insert int newID = (int)db.ExecutarInsertAndGetID(query); //--- COMMIT and RETURN db.CommitTransaction(); return(newID); } catch (SqlException ex) { //--- ROLLBACK db.RollBackTransaction(); if (ex.Number == 2627) { throw new AppException("Já existe um Contribuinte com o mesmo nome..."); } else { throw ex; } } catch (Exception ex) { //--- ROLLBACK db.RollBackTransaction(); throw ex; } }