// OPEN PROCURA FORM //------------------------------------------------------------------------------------------------------------ private void btnSetColaborador_Click(object sender, EventArgs e) { try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; var frm = new Registres.frmColaboradorListagem(true, this); frm.ShowDialog(); //--- check return if (frm.DialogResult == DialogResult.OK) { Colaborador = frm.propEscolha; txtColaborador.Text = frm.propEscolha.Credor; lblTaxa.Text = Colaborador.ComissaoTaxa == null ? string.Empty : Colaborador.ComissaoTaxa.ToString() + "%"; ObterDados(); } //--- select txtColaborador.Focus(); txtColaborador.SelectAll(); } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao abrir o formulário de procura..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
// SAVE CREDOR COLABORADOR: INSERT | UPDATE | DELETE //------------------------------------------------------------------------------------------------------------ private void ColaboradorCheckAndSave(objCredor credor, AcessoDados dbTran) { try { // delete dbTran.LimparParametros(); string query = $"DELETE tblCredorColaborador WHERE IDCredor = {credor.IDCredor}"; dbTran.ExecutarManipulacao(CommandType.Text, query); if (credor.IDCredorTipo == 6) // credor colaborador { // insert if (credor.IDSetor != null && credor.ComissaoTaxa != null) { dbTran.LimparParametros(); dbTran.AdicionarParametros("@IDCredor", credor.IDCredor); dbTran.AdicionarParametros("@IDSetor", credor.IDSetor); dbTran.AdicionarParametros("@ComissaoTaxa", credor.ComissaoTaxa); query = "INSERT INTO tblCredorColaborador (IDCredor, IDSetor, ComissaoTaxa) " + "VALUES (@IDCredor, @IDSetor, @ComissaoTaxa)"; dbTran.ExecutarManipulacao(CommandType.Text, query); } } } catch (Exception ex) { throw ex; } }
// SAVE CREDOR FUNCIONARIO: INSERT | UPDATE | DELETE //------------------------------------------------------------------------------------------------------------ private void FuncionarioCheckAndSave(objCredor credor, AcessoDados dbTran) { try { // delete dbTran.LimparParametros(); string query = $"DELETE tblCredorFuncionario WHERE IDCredor = {credor.IDCredor}"; dbTran.ExecutarManipulacao(CommandType.Text, query); if (credor.IDCredorTipo == 5) // credor funcionario { // insert if (credor.SalarioBruto != null && !string.IsNullOrEmpty(credor.Funcao)) { dbTran.LimparParametros(); dbTran.AdicionarParametros("@IDCredor", credor.IDCredor); dbTran.AdicionarParametros("@Funcao", credor.Funcao); dbTran.AdicionarParametros("@AdmissaoData", credor.AdmissaoData); dbTran.AdicionarParametros("@UltimaFeriasData", credor.UltimaFeriasData); dbTran.AdicionarParametros("@SalarioBruto", credor.SalarioBruto); dbTran.ConvertNullParams(); query = "INSERT INTO tblCredorFuncionario (IDCredor, Funcao, AdmissaoData, UltimaFeriasData, SalarioBruto) " + "VALUES (@IDCredor, @Funcao, @AdmissaoData, @UltimaFeriasData, @SalarioBruto)"; dbTran.ExecutarManipulacao(CommandType.Text, query); } } } catch (Exception ex) { throw ex; } }
// CONVERT ROW IN CLASS //------------------------------------------------------------------------------------------------------------ public objCredor ConvertRowInClass(DataRow row) { objCredor credor = new objCredor((int)row["IDCredor"]) { Credor = (string)row["Credor"], IDCredorTipo = row["IDCredorTipo"] == DBNull.Value ? (byte)0 : (byte)row["IDCredorTipo"], CredorTipo = row["CredorTipo"] == DBNull.Value ? string.Empty : (string)row["CredorTipo"], CNP = row["CNP"] == DBNull.Value ? "" : (string)row["CNP"], EnderecoLogradouro = row["EnderecoLogradouro"] == DBNull.Value ? "" : (string)row["EnderecoLogradouro"], EnderecoComplemento = row["EnderecoComplemento"] == DBNull.Value ? "" : (string)row["EnderecoComplemento"], EnderecoNumero = row["EnderecoNumero"] == DBNull.Value ? "" : (string)row["EnderecoNumero"], Bairro = row["Bairro"] == DBNull.Value ? "" : (string)row["Bairro"], Cidade = row["Cidade"] == DBNull.Value ? "" : (string)row["Cidade"], UF = row["UF"] == DBNull.Value ? "" : (string)row["UF"], CEP = row["CEP"] == DBNull.Value ? "" : (string)row["CEP"], TelefoneCelular = row["TelefoneCelular"] == DBNull.Value ? "" : (string)row["TelefoneCelular"], TelefoneFixo = row["TelefoneFixo"] == DBNull.Value ? "" : (string)row["TelefoneFixo"], Whatsapp = row["Whatsapp"] == DBNull.Value ? false : (bool)row["Whatsapp"], Email = row["Email"] == DBNull.Value ? "" : (string)row["Email"], Ativo = (bool)row["Ativo"], PessoaTipo = row["PessoaTipo"] == DBNull.Value ? null : (byte?)row["PessoaTipo"], PessoaTipoDescricao = row["PessoaTipoDescricao"] == DBNull.Value ? string.Empty : (string)row["PessoaTipoDescricao"], ComissaoTaxa = row["ComissaoTaxa"] == DBNull.Value ? null : (decimal?)row["ComissaoTaxa"], IDSetor = row["IDSetor"] == DBNull.Value ? null : (int?)row["IDSetor"], Setor = row["Setor"] == DBNull.Value ? string.Empty : (string)row["Setor"], Funcao = row["Funcao"] == DBNull.Value ? string.Empty : (string)row["Funcao"], AdmissaoData = row["AdmissaoData"] == DBNull.Value ? null : (DateTime?)row["AdmissaoData"], UltimaFeriasData = row["UltimaFeriasData"] == DBNull.Value ? null : (DateTime?)row["UltimaFeriasData"], SalarioBruto = row["SalarioBruto"] == DBNull.Value ? null : (decimal?)row["SalarioBruto"], }; return(credor); }
// BTN EDITAR //------------------------------------------------------------------------------------------------------------ private void btnEditar_Click(object sender, EventArgs e) { //--- get Selected item objCredor item = (objCredor)dgvListagem.SelectedRows[0].DataBoundItem; if (!_isProcura) // EDITAR { //--- check selected item if (dgvListagem.SelectedRows.Count == 0) { AbrirDialog("Favor selecionar um registro para Editar...", "Selecionar Registro", DialogType.OK, DialogIcon.Information); return; } //--- open edit form frmCredor frm = new frmCredor(item, null, 6); frm.MdiParent = Application.OpenForms.OfType <frmPrincipal>().FirstOrDefault(); DesativaMenuPrincipal(); Close(); frm.Show(); } else // ESCOLHER { propEscolha = item; DialogResult = DialogResult.OK; } }
// CONTROL KEYDOWN: BLOCK (+), CREATE (DELETE), BLOCK EDIT //------------------------------------------------------------------------------------------------------------ private void Control_KeyDown(object sender, KeyEventArgs e) { Control ctr = (Control)sender; if (e.KeyCode == Keys.Add || e.KeyCode == Keys.F4) { e.Handled = true; switch (ctr.Name) { case "txtColaborador": btnSetColaborador_Click(sender, new EventArgs()); break; case "txtSetor": btnSetSetor_Click(sender, new EventArgs()); break; default: break; } } else if (e.KeyCode == Keys.Delete) { e.Handled = true; switch (ctr.Name) { case "txtColaborador": txtColaborador.Clear(); _colaborador = null; ObterDados(); break; case "txtSetor": txtSetor.Clear(); _setor = null; ObterDados(); break; default: break; } } else if (e.Alt) { e.Handled = false; } else { //--- cria um array de controles que serão bloqueados de alteracao Control[] controlesBloqueados = { txtColaborador, txtSetor }; if (controlesBloqueados.Contains(ctr)) { e.Handled = true; e.SuppressKeyPress = true; } } }
// 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 objCredor item = (objCredor)dgvListagem.SelectedRows[0].DataBoundItem; //--- open edit form frmCredor frm = new frmCredor(item, null); frm.MdiParent = Application.OpenForms.OfType <frmPrincipal>().FirstOrDefault(); DesativaMenuPrincipal(); Close(); frm.Show(); }
// INSERIR NOVO REGISTRO //------------------------------------------------------------------------------------------------------------ private void btnNovo_Click(object sender, EventArgs e) { if (Sit != EnumFlagEstado.RegistroSalvo) { return; } _credor = new objCredor(null); Sit = EnumFlagEstado.NovoRegistro; AtivoButtonImage(); bind.DataSource = _credor; txtCredor.Focus(); }
// CONTROL IMAGES OF LIST DATAGRID //------------------------------------------------------------------------------------------------------------ private void dgvListagem_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (e.ColumnIndex == clnImage.Index) { objCredor item = (objCredor)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 objCredor item = (objCredor)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 objCredor credor = (objCredor)dgvListagem.SelectedRows[0].DataBoundItem; //---pergunta ao usuário var reponse = AbrirDialog($"Deseja realmente {(credor.Ativo ? "DESATIVAR " : "ATIVAR")} esse Credor?\n" + credor.Credor.ToUpper(), (credor.Ativo ? "DESATIVAR " : "ATIVAR"), DialogType.SIM_NAO, DialogIcon.Question); if (reponse == DialogResult.No) { return; } //--- altera o valor credor.Ativo = !credor.Ativo; //--- Salvar o Registro try { // --- Ampulheta ON Cursor.Current = Cursors.WaitCursor; CredorBLL cBLL = new CredorBLL(); cBLL.UpdateCredor(credor); //--- altera a imagem ObterDados(); } catch (Exception ex) { AbrirDialog("Uma exceção ocorreu ao Alterar Credor..." + "\n" + ex.Message, "Exceção", DialogType.OK, DialogIcon.Exclamation); } finally { // --- Ampulheta OFF Cursor.Current = Cursors.Default; } }
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") { objCredor contribuinte = (objCredor)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)); } } }
// SUB NEW //------------------------------------------------------------------------------------------------------------ public frmCredor(objCredor obj, Form formOrigem, byte?CredorEspecialType = null) { InitializeComponent(); _formOrigem = formOrigem; _credor = obj; bind.DataSource = _credor; BindingCreator(); PreencheDictionary(); CheckCredorTipo(); _IsColaborador = CredorEspecialType != null && CredorEspecialType == 6; _IsFuncionario = CredorEspecialType != null && CredorEspecialType == 5; if (_IsColaborador) { lblTitulo.Text = "Cadastro de Colaboradores"; lblCredor.Text = "Colaborador"; } if (_IsFuncionario) { lblTitulo.Text = "Cadastro de Funcionarios"; lblCredor.Text = "Funcionário"; } if (_credor.IDCredor == null) { Sit = EnumFlagEstado.NovoRegistro; if (_IsColaborador) { _credor.IDCredorTipo = 6; _credor.CredorTipo = "Colaborador"; CheckCredorTipo(); } else if (_IsFuncionario) { _credor.IDCredorTipo = 5; _credor.CredorTipo = "Funcionario"; CheckCredorTipo(); } ; } else { Sit = EnumFlagEstado.RegistroSalvo; } AtivoButtonImage(); // ADD HANDLERS _credor.PropertyChanged += RegistroAlterado; HandlerKeyDownControl(this); chkWhatsapp.GotFocus += chkWathsapp_ControleFocus; chkWhatsapp.LostFocus += chkWathsapp_ControleFocus; txtEnderecoNumero.KeyPress += txtSoNumeros_KeyPress; txtCNP.KeyPress += txtSoNumeros_KeyPress; txtCredor.Validating += (a, b) => PrimeiraLetraMaiuscula(txtCredor); txtEnderecoLogradouro.Validating += (a, b) => PrimeiraLetraMaiuscula(txtEnderecoLogradouro); txtBairro.Validating += (a, b) => PrimeiraLetraMaiuscula(txtBairro); txtCidade.Validating += (a, b) => PrimeiraLetraMaiuscula(txtCidade); }
// UPDATE //------------------------------------------------------------------------------------------------------------ public bool UpdateCredor(objCredor credor) { AcessoDados db = null; try { db = new AcessoDados(); db.BeginTransaction(); //--- check duplicated CREDOR //------------------------------------------------------------------------------------------------------------ db.LimparParametros(); db.AdicionarParametros("@Credor", credor.Credor); db.AdicionarParametros("@IDCredor", credor.IDCredor); db.ConvertNullParams(); //--- create and execute query string query = "SELECT * FROM tblCredor WHERE Credor = @Credor AND IDCredor <> @IDCredor"; DataTable dt = db.ExecutarConsulta(CommandType.Text, query); if (dt.Rows.Count > 0) { throw new AppException("Já existe um Credor cadastrado que possui o mesmo nome..."); } //--- check duplicated CNP //------------------------------------------------------------------------------------------------------------ string CNP = credor.CNP.Replace("/", "").Replace("-", "").Replace(".", "").Trim(); if (!string.IsNullOrEmpty(CNP)) { db.LimparParametros(); db.AdicionarParametros("@CNP", credor.CNP); db.AdicionarParametros("@IDCredor", credor.IDCredor); db.ConvertNullParams(); //--- create and execute query query = "SELECT * FROM tblCredor WHERE CNP = @CNP AND IDCredor <> @IDCredor"; dt = db.ExecutarConsulta(CommandType.Text, query); if (dt.Rows.Count > 0) { throw new AppException("Já existe um Credor cadastrado que possui o mesmo CPF..."); } } else { credor.CNP = string.Empty; } //--- clear Params db.LimparParametros(); //--- define Params db.AdicionarParametros("@IDCredor", credor.IDCredor); db.AdicionarParametros("@Credor", credor.Credor); db.AdicionarParametros("@IDCredorTipo", credor.IDCredorTipo); db.AdicionarParametros("@CNP", credor.CNP); db.AdicionarParametros("@EnderecoLogradouro", credor.EnderecoLogradouro); db.AdicionarParametros("@EnderecoNumero", credor.EnderecoNumero); db.AdicionarParametros("@EnderecoComplemento", credor.EnderecoComplemento); db.AdicionarParametros("@Bairro", credor.Bairro); db.AdicionarParametros("@Cidade", credor.Cidade); db.AdicionarParametros("@UF", credor.UF); db.AdicionarParametros("@CEP", credor.CEP); db.AdicionarParametros("@TelefoneFixo", credor.TelefoneFixo); db.AdicionarParametros("@TelefoneCelular", credor.TelefoneCelular); db.AdicionarParametros("@Whatsapp", credor.Whatsapp); db.AdicionarParametros("@Email", credor.Email); db.AdicionarParametros("@Ativo", credor.Ativo); //--- convert null parameters db.ConvertNullParams(); //--- create query query = db.CreateUpdateSQL("tblCredor", "IDCredor"); //--- UPDATE db.ExecutarManipulacao(CommandType.Text, query); //--- SAVE | UPDATE | INSERT --> COLABORADOR //------------------------------------------------------------------------------------------------------------ ColaboradorCheckAndSave(credor, db); //--- SAVE | UPDATE | INSERT --> FUNCIONARIO //------------------------------------------------------------------------------------------------------------ FuncionarioCheckAndSave(credor, db); //--- COMMIT db.CommitTransaction(); return(true); } catch (Exception ex) { //--- ROOLBACK db.RollBackTransaction(); throw ex; } }