public CheckBox Check(CampoTabela field, int i) { var chk = new CheckBox() { AutoSize = true, Location = new System.Drawing.Point(335 + (i * 40), 7), Name = "checkBox" + field.Id + (i + 1), Size = new System.Drawing.Size(15, 14), UseVisualStyleBackColor = true, Checked = !field.AutoIncremento, Tag = i + 1, }; switch (i + 1) { case (int)Method.Post: chk.Checked = !field.AutoIncremento; break; case (int)Method.Put: chk.Checked = !field.ChavePrimaria; break; case (int)Method.Delete: chk.Visible = field.ChavePrimaria; chk.Checked = field.ChavePrimaria; break; default: chk.Checked = true; break; } return(chk); }
//Usuario public List <CampoTabela> BuscarCamposPorNomeTabela(string nomeTabela) { var lstCampos = new List <CampoTabela>(); var commandText = $@"SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, NUMERIC_SCALE, CAST(CASE WHEN IS_NULLABLE = 'NO' THEN 0 ELSE 1 END AS bit) AS IS_NULLABLE, CAST(COLUMNPROPERTY(OBJECT_ID('{nomeTabela}'), COLUMN_NAME, 'IsIdentity') AS bit) AS IS_IDENTITY, CAST( ( CASE WHEN COLUMN_NAME = (SELECT INFORMATION_SCHEMA.KEY_COLUMN_USAGE.COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + CONSTRAINT_NAME), 'IsPrimaryKey') = 1 AND TABLE_NAME = '{nomeTabela}' ) THEN 1 ELSE 0 END ) AS bit) AS IS_PK FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '{nomeTabela}'"; _sqlConnection.Open(); var cont = 1; using (var command = new SqlCommand(commandText, _sqlConnection)) using (var reader = command.ExecuteReader()) while (reader.Read()) { var campos = new CampoTabela { Id = cont, NomeColuna = reader.GetString(reader.GetOrdinal("COLUMN_NAME")), TipoColuna = reader.GetString(reader.GetOrdinal("DATA_TYPE")), Nulo = reader.GetBoolean(reader.GetOrdinal("IS_NULLABLE")), ChavePrimaria = reader.GetBoolean(reader.GetOrdinal("IS_PK")), AutoIncremento = reader.GetBoolean(reader.GetOrdinal("IS_IDENTITY")), QuantidadeMaximaCaracteres = reader.IsDBNull(reader.GetOrdinal("CHARACTER_MAXIMUM_LENGTH")) ? default(int?) : reader.GetInt32(reader.GetOrdinal("CHARACTER_MAXIMUM_LENGTH")), PrecisaoNumero = reader.IsDBNull(reader.GetOrdinal("NUMERIC_PRECISION")) ? default(byte?) : reader.GetByte(reader.GetOrdinal("NUMERIC_PRECISION")), EscalaNumero = reader.IsDBNull(reader.GetOrdinal("NUMERIC_SCALE")) ? default(int?) : reader.GetInt32(reader.GetOrdinal("NUMERIC_SCALE")) }; campos.Post = !campos.AutoIncremento; campos.Put = !campos.ChavePrimaria; campos.Delete = campos.ChavePrimaria; campos.Get = true; campos.GetId = true; lstCampos.Add(campos); cont++; } return(lstCampos); }
public TextBox Alias(CampoTabela field) { return(new TextBox() { Location = new System.Drawing.Point(215, 3), Name = "textBox" + field.Id, Size = new System.Drawing.Size(100, 20), TabIndex = 1 }); }
public Label AttrName(CampoTabela field) { return(new Label { AutoSize = false, Location = new System.Drawing.Point(17, 7), Name = "label" + field.Id, Size = new System.Drawing.Size(155, 13), Text = field.NomeColuna, TextAlign = System.Drawing.ContentAlignment.MiddleRight }); }
public Panel Create(CampoTabela field, FormPrincipal form) { var panel = new Panel { Location = new System.Drawing.Point(3, Y), Name = "panel" + field.Id, Size = new System.Drawing.Size(551, 27), Tag = field.Id, BorderStyle = BorderStyle.Fixed3D }; #region Objs var lb1 = AttrName(field); var lb2 = As(); var txt = Alias(field); var chkList = new CheckBox[5]; for (var i = 0; i < 5; i++) { chkList[i] = Check(field, i); } #endregion panel.Controls.Add(lb1); panel.Controls.Add(lb2); panel.Controls.Add(txt); txt.KeyUp += form.alias_KeyUp; for (var i = 0; i < 5; i++) { panel.Controls.Add(chkList[i]); chkList[i].CheckedChanged += form.methods_CheckedChanged; } Y += 29; return(panel); }