/// <summary> /// Display field list /// </summary> void upDateList() { if (cmbTypeJointure.SelectedItem == null) { return; } var tableToJoin = (string)cmbTable.SelectedItem; //getNewJoinedTable(); var is1N = cmbTypeJointure.SelectedItem.ToString() == "1:N"; //1:N complex list if (is1N) { lblChampRef2.Text = string.Format(Properties.Resources.RefFieldForTable, tableToJoin); lblChampRef.Text = string.Format(Properties.Resources.RefFieldForTable, getJoinParentView()); WizardSQLHelper.displayField(cmbChampRef2, tableToJoin, _connectionString, ""); WizardSQLHelper.displayField(cmbChampRef, getJoinParentView().NomTable, _connectionString, getJoinParentView().Schema, "", false, !chkCmbChRefHT.Checked); } else { lblChampRef.Text = string.Format(Properties.Resources.RefFieldForTable, getJoinParentView());//1:N WizardSQLHelper.displayField(cmbChampRef, getJoinParentView().NomTable, _connectionString, getJoinParentView().Schema, "", false, !chkCmbChRefHT.Checked); } WizardSQLHelper.displayField(cmbOrder, tableToJoin, _connectionString, getJoinParentView().Schema, "", true); }
private void Button_end(object sender, PageEventArgs e) { var table = radNewTable.Checked ? txtTable.Text.ToLower() : ((TabloidConfigView)cmbView.SelectedItem).NomTable; var schemaNewTable = radNewTable.Checked ? null : ((TabloidConfigView)cmbView.SelectedItem).Schema; var newDbKey = radNewTable.Checked ? "id_" + txtTable.Text.ToLower() : ((TabloidConfigView)cmbView.SelectedItem).DbKey; var refField = radExistingField.Checked ? cmbExistingField.SelectedItem.ToString() : TxtRef.Text; var alias = radUseAlias.Checked ? txtalias.Text : ""; var useJoin = radUseAlias.Checked ? null : existingJoin[0]; JoinListUpdated = useJoin == null; e.Cancel = !WizardSQLHelper.SetDataBaseForList( this, false, _view.Schema, table, newDbKey, txtViewName.Text, chkAddToparamMenu.Checked, _view, refField, _connectionString, _provider, true, false, alias, radUseTable.Checked, schemaNewTable, useJoin, radExistingField.Checked); }
/// <summary> /// Create table in base from a list /// </summary> /// <param name="tl"></param> /// <param name="connectionString"></param> public static bool CreateTable(IEnumerable <Table> tl, string connectionString, IWin32Window own) { foreach (var t in tl) { if (string.Equals(t.Name, "utilisateurs", StringComparison.InvariantCultureIgnoreCase)) { var utilFrm = new UtilEditor(); utilFrm.btnCancel.Enabled = false; if (utilFrm.ShowDialog() == System.Windows.Forms.DialogResult.OK)//for user table need to ask for user 0 { Program.AppSet.grainDeSable = Classes.WizardEvents.GetUniqueKey(7); TabloidConfig.Config.updateCurrentKey(Program.AppSet.grainDeSable); var param = new string[] { utilFrm.txtLogin.Text, utilFrm.txtNom.Text, utilFrm.txtPrenom.Text, utilFrm.txtMail.Text, Tabloid.Classes.Tools.SecurityHelper.EncryptPassword(utilFrm.txtMdp1.Text) }; WizardSQLHelper.ExecuteFromFile(t.SqlFile, param, connectionString, own); Program.AppSet.ModeAuthentification = utilFrm.cmbAuth.SelectedIndex == 0 ? AuthenticationHandler.AuthenticationType.Formulaire : AuthenticationHandler.AuthenticationType.Windows; } else { return(false); } } else { SqlCommands.SqlFromFile(t.SqlFile, connectionString, false); } } return(true); }
//créer dans la liste {0} les élément à partir de {1} //à la création d'un enregistrement de {0} compléter la liste {1} : private void Info_CloseFromNext(object sender, PageEventArgs e) { // add insertselect function e.Cancel = !WizardSQLHelper.ExecuteFromFile("functions\\insertselect.sql", new string[] { _view.Schema }, Program.AppSet.ConnectionString, this); var where = string.IsNullOrEmpty(txtWhere.Text) ? "'1=1'" : txtWhere.Text; var dest = ((TabloidConfigJointure)cmbListe.SelectedItem); var src = ((TabloidConfigJointure)cmbSrc.SelectedItem); var srcFields = $"concat('{src.DbKey},',New.{_view.DbKey})"; var destFields = $"'{src.ChampDeRef},{dest.ChampDeRef2}'"; var function = $"PERFORM {_view.Schema}.insertselect('{_view.Schema}.{src.NomTable}',{where},{srcFields},'{_view.Schema}.{dest.NomTable}',{destFields});"; if (!string.IsNullOrEmpty(txtIf.Text)) { function = $"if {txtIf.Text} Then " + function + "end if;"; } var param = new string[] { _view.Schema, triggerName + _view.NomTable, _view.NomTable, "AFTER INSERT", _view.Schema + "." + triggerName + _view.NomTable, function }; e.Cancel = !WizardSQLHelper.ExecuteFromFile("trigger.sql", param, Program.AppSet.ConnectionString, this); }
private void Info_CloseFromNext(object sender, PageEventArgs e) { if (txtGeomFiled.Text == "") { MetroMessageBox.Show(this, Properties.Resources.FieldNameNeeded, Properties.Resources.Erreur, MessageBoxButtons.OK, MessageBoxIcon.Error); } var param = new string[] { _view.Nom, txtGeomFiled.Text, $"geometry({cmbType.SelectedItem},{txtSrid.Text})", _view.Schema }; WizardSQLHelper.ExecuteFromFile("addField.sql", param, Program.AppSet.ConnectionString, this); TabloidConfigGeoLoc.GeoLocType geoLocType; Enum.TryParse(cmbType.SelectedItem.ToString(), out geoLocType); _view.GeoLoc.Type = geoLocType; _view.GeoLoc.TitreCouche = _view.Titre; _view.GeoLoc.Geom = txtGeomFiled.Text; _view.GeoLoc.Srid = txtSrid.Text; _view.GeoLoc.ForcerSRID = true; if (chkAddMenu.Checked) { WizardSQLHelper.AddToMenu(this, _view, "Carte " + _view.Titre, TabloidConfigMenuItem.MenuType.Carte, null); } }
/// <summary> /// Build Module base table /// </summary> public static bool Activate(ModuleTableType moduleType, IWin32Window own) { foreach (string tableName in TableList[moduleType]) { WizardSQLHelper.ExecuteFromFile(tableName + ".sql", null, Program.AppSet.ConnectionString, own); } return(true); }
public void BuildConstraint() { var key = WizardSQLHelper.GetPrimaryKeyName(Join.NomTable); //var param = new string[] { View.Schema, Join.NomTable, View.NomTable, Join.ChampDeRef, View.Schema, key }; //WizardHelper.ExecuteFromFile("addConstraint.sql", param, Program.AppSet.ConnectionString); WizardSQLHelper.addConstraint(View.Schema, Join.NomTable, View.NomTable, Join.ChampDeRef, View.Schema, key, _own); }
private void RenameTable(object sender, EventArgs e) { var frmRename = new Rename(ParentTableResult.TableName); if (frmRename.ShowDialog() == System.Windows.Forms.DialogResult.OK) { var param = new string[] { Program.AppSet.Schema, ParentTableResult.TableName, frmRename.txtNewName.Text }; WizardSQLHelper.ExecuteFromFile("renameTable.sql", param, Program.AppSet.ConnectionString, _own); } }
/// <summary> /// Function creation wizard /// </summary> /// <param name="schema">Name of postgres schema or database name for mysql</param> public WizardFunction(string schema) { InitializeComponent(); string lastError; var dt = DataTools.Data(WizardSQLHelper.BuildSQLFromFile("functionList.sql", new String[] { schema }), Program.AppSet.ConnectionString, out lastError); cmbFunction.DataSource = dt; cmbFunction.DisplayMember = dt.Columns[1].ColumnName; }
void Button_end(object sender, PageEventArgs e) { if (Tools.isTableExist(txtTable.Text)) { MetroMessageBox.Show(this, "Ce nom de table existe déja !", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); e.Cancel = true; return; } e.Cancel = !WizardSQLHelper.ConvertSimpleList(_view, _field, txtTable.Text, this); }
void Button_end(object sender, PageEventArgs e) {//e.Cancel = !WizardSQLHelper.SetDataBaseForList(true, _view.Schema, txtTable.Text, txtViewName.Text, "id_"+ txtViewName.Text, false, _view, null, _connectionString, _provider, chkName.Checked, chkDistinct.Checked); JD 2/9/19 if (radioCrea.Checked) { e.Cancel = !WizardSQLHelper.SetDataBaseForList(this, true, _view.Schema, txtTable.Text, "id_" + txtTable.Text, txtViewName.Text, false, _view, null, _connectionString, _provider, chkName.Checked, chkDistinct.Checked); } else { e.Cancel = !WizardSQLHelper.AddGridviewField(_view, txtViewName.Text, (TabloidConfigJointure)cmbJoin.SelectedValue, cmbChamp.SelectedItem.ToString(), _ctrl == TemplateType.GridView, chkDistinct.Checked); } }
void Button_end(object sender, PageEventArgs e) { var newTable = WizardSQLHelper.TitleToSystemName(txtTable.Text); if (Tools.isTableExist(newTable)) { MetroMessageBox.Show(this, Properties.Resources.TableAlreadyExist, Properties.Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); e.Cancel = true; return; } e.Cancel = !WizardSQLHelper.ConvertFieldToList(_view, _field, newTable, this); }
/// <summary> /// create sql command if necessary /// </summary> /// <param name="chkNewField"></param> /// <param name="cmbField"></param> /// <param name="txtField"></param> /// <returns></returns> private string buildField(RadioButton chkNewField, ComboBox cmbField, TextBox txtField, ref string sql) { if (chkNewField.Checked) { var param = new string[] { _view.NomTable, txtField.Text, "timestamp", _view.Schema }; sql += WizardSQLHelper.BuildSQLFromFile("addField.sql", param); return(txtField.Text); } return(cmbField.Text); }
/// <summary> /// Remove Module base table /// </summary> public static bool Remove(ModuleTableType moduleType, IWin32Window own) { foreach (string tableName in TableList[moduleType]) { var competedTableName = tableName; if (Program.AppSet.ProviderType == Provider.Postgres) { competedTableName = CurrentContext.CurrentView.Schema + "." + tableName; } WizardSQLHelper.ExecuteFromFile("supTable.sql", new string[] { competedTableName }, Program.AppSet.ConnectionString, own); } return(true); }
private void addToMenu(TabloidConfigView t) { if (!chkAjMenu.Checked) { return; } if (radMnMain.Checked) { WizardSQLHelper.AddToMenu(this, t); } else { WizardSQLHelper.AddToParamMenu(t, this); } }
public void setTableList(IServiceProvider provider, object value) { if (provider != null) { // This service is in charge of popping our ListBox. _service = ((IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService))); _list = new ListBox(); if (_service != null) { _list.Click += ListBox_Click; WizardSQLHelper.displayTable(_list, Program.AppSet.ConnectionString, (string)value, true); _service.DropDownControl(_list); } } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Button_end(object sender, PageEventArgs e) { if (radAuto.Checked) { foreach (TabloidConfigJointure Tj in lstAutoJoin.SelectedItems) { Tools.AddWithUniqueName(_view.Jointures, Tj, "J", _parentJoin == null ? null : _parentJoin.Jointures); } } else { var newTable = cmbTable.SelectedItem.ToString(); var dbKey = WizardSQLHelper.GetPrimaryKeyName(newTable); if (dbKey == null) { MetroMessageBox.Show(this, Properties.Resources.CantFindPrimaryKey, Properties.Resources.Erreur, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var is1N = cmbTypeJointure.SelectedItem.ToString() == "1:N"; var Tj = new TabloidConfigJointure { NomTable = newTable, Relation = cmbTypeJointure.SelectedItem.ToString(), DbKey = dbKey, Parent = _parentJoin, ChampDeRef = is1N ? getJoinParentView().NomTable + "." + cmbChampRef.SelectedItem : cmbChampRef.SelectedItem.ToString(), ChampDeRef2 = is1N ? cmbChampRef2.SelectedItem.ToString() : "", }; if (cmbOrder.SelectedIndex > 0) { Tj.Order = cmbOrder.SelectedItem + " " + (cmbOrderType.SelectedIndex == 0 ? "asc" : "desc"); } Tj.Visu = WizardSQLHelper.GetVisibiliteFromCheckedListBox(lstVisibilites); Tools.AddWithUniqueName(_view.Jointures, Tj, "J", _parentJoin == null ? null : _parentJoin.Jointures); } }
/// <summary> /// Delete column in table /// Remove constraint if exist /// </summary> /// <param name="table">Field table name without schema</param> /// <param name="schema"></param> public static void DropColumn(string table, string column, string schema, IWin32Window own) { string error; var constraints = DataTools.Data(SqlCommands.SqlGetForeignKey(table, schema), Program.AppSet.ConnectionString, out error); var columnConstraints = new DataView(constraints, constraints.Columns[0].ColumnName + " like '" + column + "'", "", DataViewRowState.Unchanged); foreach (DataRowView dr in columnConstraints) { var param1 = new string[] { schema, dr[3].ToString(), table }; WizardSQLHelper.ExecuteFromFile("DropForeignKey.sql", param1, Program.AppSet.ConnectionString, own); } var param = new string[] { schema + "." + table, ChampTools.RemoveTableName(column) }; WizardSQLHelper.ExecuteFromFile("supField.sql", param, Program.AppSet.ConnectionString, own); }
public TableFieldSelectorForm(TabloidConfigView view, string value, string tableName = null) { Value = value; InitializeComponent(); WizardSQLHelper.displayTable(fieldSelector1.cmbTable, Program.AppSet.ConnectionString, view.NomTable); fieldSelector1.ConnectionString = Program.AppSet.ConnectionString; fieldSelector1.cmdSchema.DataSource = AppSetting.GetSchemaList(Program.AppSet.ProviderType); fieldSelector1.lstChamp.SelectedIndexChanged += cmbChamp_SelectedIndexChanged; if (!string.IsNullOrEmpty(tableName)) { fieldSelector1.cmbTable.SelectedIndex = fieldSelector1.cmbTable.FindStringExact(tableName); } if (!string.IsNullOrEmpty(value)) { fieldSelector1.lstChamp.SelectedIndex = fieldSelector1.lstChamp.FindStringExact(value); } }
public WizardJoin(TabloidConfigView view, TabloidConfigJointure parentJoin, string connectionString) { _connectionString = connectionString; _view = view; _parentJoin = parentJoin; InitializeComponent(); wjStart.CloseFromNext += wjRef_CloseFromNext; wjRef2.ShowFromNext += Rel_ShowFromNext; wjRef2.ShowFromBack += Back_Rel_ShowFromNext; Fin.CloseFromBack += Fin_CloseFromBack; _srcView = parentJoin == null ? view : TabloidConfig.Config.Views[parentJoin.NomTable]; upDateList(); WizardSQLHelper.displayTable(cmbTable, Program.AppSet.ConnectionString, _srcView.NomTable, false); cmbTable.SelectedIndex = 0; lblChampRef.Text = string.Format(lblChampRef.Text, _srcView.NomTable); cmbTypeJointure.SelectedIndex = 0; cmbOrderType.Items.Add(Properties.Resources.Increasing); cmbOrderType.Items.Add(Properties.Resources.Decreasing); cmbOrderType.SelectedIndex = 0; WizardSQLHelper.SetVisibiliteCheckedBoxList(lstVisibilites); string lastError = ""; // list automatic join var searchTable = _parentJoin == null ? _view : TabloidConfig.Config.Views[_parentJoin.NomTable]; _autoJoinList = WizardSQLHelper.SetJoinFromConstraint(searchTable, Program.AppSet.ConnectionString, ref lastError, false); lstAutoJoin.DataSource = _autoJoinList; radManu.Checked = _autoJoinList.Count == 0; }
private void cmbTable_SelectedIndexChanged(object sender, EventArgs e) { WizardSQLHelper.displayField(cmbChamp, ((TabloidConfigView)cmbTable.SelectedValue).NomTable, _connectionString); if (init) { return; } if (cmbJoin.SelectedIndex == -1 || ((TabloidConfigView)cmbTable.SelectedItem).NomTable != ((TabloidConfigJointure)cmbJoin.SelectedItem).NomTable)//no selection look for an interesting join in current list { cmbJoin.SelectedItem = null; selectJoinFromTableName(); if (cmbJoin.SelectedIndex == -1)//no interesting join in current list try to create one from joins in joined table list { var joinedTable = (TabloidConfigView)cmbTable.SelectedItem; foreach (TabloidConfigJointure j in joinedTable.Jointures) { if (j.NomTable == _view.NomTable) { var dr = MetroMessageBox.Show(this, Properties.Resources.NoJoinCreate, Properties.Resources.CreateJoin, MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.No) { break; } WizardJoin.joinConverter(j, true, joinedTable); cmbJoin.DataSource = get1NJoin(); selectJoinFromTableName(); } } } } }
private void Info_CloseFromNext(object sender, PageEventArgs e) { Program.AppSet.smsBoxPassword = txtPass.Text; Program.AppSet.smsBoxUser = txtUser.Text; Tabloid.Classes.Config.Helper.AutomaticViewBuilder.setTextes(Program.AppSet.Schema); if (chkAlert.Checked) { var alertMn = new TabloidConfigMenuItem { Titre = Properties.Resources.Alert, Type = TabloidConfigMenuItem.MenuType.Simple }; WizardSQLHelper.AddToMenu(this, alertMn, null, true); WizardSQLHelper.AddToMenu(this, new TabloidConfigMenuItem { Titre = Properties.Resources.SimpleSMS, Type = TabloidConfigMenuItem.MenuType.Sms }, alertMn, true); WizardSQLHelper.AddToMenu(this, new TabloidConfigMenuItem { Titre = Properties.Resources.MultiSMS, Type = TabloidConfigMenuItem.MenuType.Filtre, Table = _view.Nom }, alertMn, true); } if (chkText.Checked) { WizardSQLHelper.AddToParamMenu(this, new TabloidConfigMenuItem { Titre = Properties.Resources.PreDefineText, Type = TabloidConfigMenuItem.MenuType.TxtSms }, true); } }
public void ReadConnectionSetting(XmlFile src, bool remove, IWin32Window own) { foreach (var pi in GetType().GetProperties()) { switch (pi.Name) { case "ConnectionString": ConnectionString = src.GetAttributeFromCollection("/connectionStrings/add", "TabloidConnection", "connectionString"); break; case ("ProviderType"): DataTools.DefaultProviderName = src.GetAttributeFromCollection("/connectionStrings/add", "TabloidConnection", "providerName"); ProviderType = GetProviderType(DataTools.DefaultProviderName); WizardTools.Tools.SetDefaultProviderFromAppSet(); SqlCommands.Provider = ProviderType; break; } } if (string.IsNullOrEmpty(Schema))//set schéma for old version { if (MetroMessageBox.Show(own, Properties.Resources.AddSchema, Properties.Resources.Confirmation, MessageBoxButtons.OKCancel) == DialogResult.OK) { setSchemaFromConnectionString(ProviderType); WizardSQLHelper.SetAllViewSchema(Schema); } } if (remove) { src.RemoveNode("/connectionStrings/add[@name='TabloidConnection']"); } }
/// <summary> /// Build required task on wizard end /// </summary> /// <returns></returns> bool addField() { var useJoinName = ""; if (_iviewFct is TabloidConfigView && !radbutton.Checked) { var view = (TabloidConfigView)_iviewFct; if (_useDatabaseField && //handel label with no database field ((TabloidBaseControl)wzCmbEditeur.SelectedItem).type != TemplateType.Graphique) //no database field for graphic { if (radioCrea.Checked) //field must be created in database { var t = (DbType)Enum.Parse(typeof(DbType), lstTypeCrea.SelectedItem.ToString()); var sqlType = dataHelper.DbTypeConverter.ConvertFromGenericDbType(t, Tools.ConvertProviderType(_provider)); var fieldArg = txtLong.Text; if (txtDec.Text != "") { fieldArg = fieldArg + "," + txtDec.Text; } if (fieldArg != "") { fieldArg = "(" + fieldArg + ")"; } var param = new string[] { view.NomTable, txtNomCrea.Text, sqlType + fieldArg, view.Schema }; if (!WizardSQLHelper.ExecuteFromFile("addField.sql", param, _connectionString, this)) { return(true); } } else//use existing field { if (fs.cmbTable.SelectedValue.ToString() != view.NomTable && ((TabloidBaseControl)wzCmbEditeur.SelectedItem).type != TemplateType.Graphique)//verify if field is in current table { var useJoin = view.Jointures.GetJoinFromTableName(fs.cmbTable.SelectedValue.ToString()); if (useJoin == null)//verify if table is in joined table list { if (MetroMessageBox.Show(this, Resources.add_join, Resources.Warning, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes) { var w = new WizardJoin( view, null, Program.AppSet.ConnectionString); w.ShowDialog(); useJoin = view.Jointures.GetJoinFromTableName(fs.cmbTable.SelectedValue.ToString()); if (useJoin != null) { useJoinName = useJoin.Nom; } } } else { useJoinName = useJoin.Nom; } } } } } if (radbutton.Checked)//add button { Tc = new TabloidConfigColonne { Champ = fs.lstChamp.Text, Titre = WzTxtTitre.Text, Editeur = TemplateType.Btn, Type = DbType.String, EditeurParam2 = txtIcoBtn.Text, EditeurParam3 = txtUrlBtn.Text, EditeurParam4 = txtToolTipBtn.Text, VisibleDetail = true, Parent = _parentField, Nom = "btn" } } ; else//add other type field { Tc = new TabloidConfigColonne { Champ = radioCrea.Checked ? txtNomCrea.Text : fs.lstChamp.Text, Titre = WzTxtTitre.Text, Editeur = ((TabloidBaseControl)wzCmbEditeur.SelectedItem).type, Type = radioCrea.Checked ? (DbType)Enum.Parse(typeof(DbType), lstTypeCrea.SelectedItem.ToString()) : DbType.String, EditeurParam1 = txtUrlBtn.Text, Parent = _parentField, Jointure = useJoinName, Nom = "C" }; if (Tc.Editeur == TemplateType.Picture) { Tc.EditeurParam1 = "144x200"; Tc.EditeurParam2 = "/Tabloid/images/inconnu.png"; Tc.EditeurParam3 = "jpg"; Tc.EditeurParam4 = "4"; } if (Tc.Editeur == TemplateType.Graphique) { Tc.EditeurParam1 = ((TabloidConfigGraph)cmbGraph.SelectedItem).Nom; } if (_iviewFct is TabloidConfigView) { var view = (TabloidConfigView)_iviewFct; if (Tc.Editeur == TemplateType.Mobile) { view.Recherche.ChampMobile = radioCrea.Checked ? txtNomCrea.Text : fs.lstChamp.Text; WizardSQLHelper.SetMobile(view); } if (Tc.Editeur == TemplateType.Mail) { view.Recherche.ChampMail = radioCrea.Checked ? txtNomCrea.Text : fs.lstChamp.Text; } } } WizardSQLHelper.SetFieldVisibilityProperties(Tc, lstVisibilites); var parent = _iviewFct.Colonnes; if (_parentField != null) { parent = _parentField.Colonnes; } Tools.AddWithUniqueName(_iviewFct.Colonnes, Tc, "C", parent); return(false); }
private void WzTxtTitre_TextChanged(object sender, EventArgs e) { txtNomCrea.Text = WizardSQLHelper.TitleToSystemName(WzTxtTitre.Text); }
private void Button_end(object sender, PageEventArgs e) { var param = new string[] { txtSchema.Text, txtTable.Text, TxtRef.Text }; if (radUseExistingTable.Checked) { string lastError; //find db key var dc = DataTools.Data(SqlCommands.SqlGetColums(cmbTable.Text), _connectionString, out lastError);//3 param = new string[] { Program.AppSet.Schema, cmbTable.Text, dc.Select(dc.Columns[3].ColumnName + " like 'PRI%'")[0][0].ToString() }; } var viewName = String.IsNullOrEmpty(txtNomVue.Text) ? param[1] : txtNomVue.Text; if (TabloidConfig.Config.Views.Contains(viewName)) { MetroMessageBox.Show(this, TabloidWizard.Properties.Resources.ViewNameAlreadyExist, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error); e.Cancel = true; return; } //add new View CreatedView = new TabloidConfigView { Schema = param[0], Nom = viewName, Titre = txtInititView.Text, NomTable = param[1],// String.IsNullOrEmpty(txtNomVue.Text) ? "" : txtNomVue.Text, DbKey = param[2] }; if (radUseExistingTable.Checked) { TabloidConfig.Config.Views.Add(CreatedView); //set as default view setAsDefaultView(viewName); //add to menu addToMenu(CreatedView); return; } e.Cancel = !WizardSQLHelper.ExecuteFromFile("table.sql", param, _connectionString, this); if (e.Cancel) { return; } var Tc = new TabloidConfigColonne { Champ = "nom_" + param[1], Titre = "Nom", Editeur = TemplateType.TextBox, Type = DbType.String }; Tools.AddWithUniqueName(CreatedView.Colonnes, Tc, "C"); TabloidConfig.Config.Views.Add(CreatedView); //set as default view setAsDefaultView(viewName); //add to menu addToMenu(CreatedView); }
private void Button_end(object sender, PageEventArgs e) { string sql = ""; var titre = buildField(chkCreaTitre, cmbTitre, txtTitre, ref sql); var deb = buildField(chkCreaDeb, cmbDeb, txtDebut, ref sql); var fin = buildField(chkCreaFin, cmbFin, txtFin, ref sql); if (sql != "") { sql += "commit;"; e.Cancel = !WizardSQLHelper.ExecuteSQLString(sql, this); if (e.Cancel) { return; } } var cal = new TabloidConfigCalendrier { Titre = titre, Debut = deb, Fin = fin }; var cTitre = new TabloidConfigColonne { Titre = "Titre", Champ = titre, Type = DbType.String }; var cDebut = new TabloidConfigColonne { Titre = "Début", Champ = deb, Type = DbType.DateTime }; var cFin = new TabloidConfigColonne { Titre = "Fin", Champ = fin, Type = DbType.DateTime }; if (chkCreaTitre.Checked) { Tools.AddWithUniqueName(_view.Colonnes, cTitre, "C"); } if (chkCreaDeb.Checked) { Tools.AddWithUniqueName(_view.Colonnes, cDebut, "C"); } if (chkCreaFin.Checked) { Tools.AddWithUniqueName(_view.Colonnes, cFin, "C"); } _view.Calendrier = cal; if (chkAddToMenu.Checked) { var mn = radMnParam.Checked ? WizardSQLHelper.getParamMenu() : null; WizardSQLHelper.AddToMenu(this, _view, null, TabloidConfigMenuItem.MenuType.Calendrier, mn); } }
private void btnGen_Click(object sender, EventArgs e) { bool result; var createdList = new List <string>(); var startViewCount = TabloidConfig.Config.Views.Count; //clean response list foreach (DataRow dr in _tbContainer.Rows) { if (dr.RowState != DataRowState.Deleted && dr["Réponses"].ToString() != "") { var r = dr["Réponses"].ToString().Trim(); r = r.Replace('-', ';'); dr["Réponses"] = r; } } _tbContainer.AcceptChanges(); //search duplicate response list for combo box _tbContainer.Columns.Add("Liste"); var list = 0; foreach (DataRow dr in _tbContainer.Rows) { if (dr.RowState != DataRowState.Deleted && dr["Réponses"].ToString() != "" && dr["Liste"] == DBNull.Value) { var currentListName = "lr" + list.ToString(); dr["Liste"] = currentListName; var dv = new DataView(_tbContainer, string.Format("Réponses like '{0}'", DataTools.ExtendedStringToSql(dr["Réponses"].ToString())), "", DataViewRowState.Unchanged); foreach (DataRowView drv in dv) { drv["Liste"] = currentListName; } list++; } } //add new View var param = new string[] { Program.AppSet.Schema, txtVue.Text, "id_" + txtVue.Text }; var t = new TabloidConfigView { Schema = param[0], Nom = txtVue.Text, Titre = txtVue.Text, NomTable = txtVue.Text, DbKey = param[2], Detail = true, DisplayOnTowRow = true }; result = WizardSQLHelper.ExecuteFromFile("table.sql", param, Program.AppSet.ConnectionString, this); if (!result) { return; } var i = 1; param = new string[] { txtVue.Text, "", "", Program.AppSet.Schema }; foreach (DataRow dr in _tbContainer.Rows) { if (dr.RowState != DataRowState.Deleted) { param[1] = "R" + i; var info = dr["Info"].ToString(); var Tc = new TabloidConfigColonne { Nom = "C" + i, Champ = "r" + i, Groupe = "!!!" + dr["Groupe"], Titre = dr["Questions"].ToString(), VisibleListe = false, Information = info }; if (dr["Réponses"].ToString() == "") { //TextBox Tc.Editeur = Tabloid.Classes.Controls.TemplateType.Defaut; Tc.Type = DbType.String; param[2] = dataHelper.DbTypeConverter.ConvertFromGenericDbType(DbType.String, Classes.WizardTools.Tools.ConvertProviderType(Program.AppSet.ProviderType)); result = WizardSQLHelper.ExecuteFromFile("addField.sql", param, Program.AppSet.ConnectionString, this); t.Colonnes.Add(Tc); } else {//ComboBox var tableCreationNeeded = !createdList.Contains(dr["Liste"].ToString()); result = WizardSQLHelper.SetDataBaseForList(this, false, Program.AppSet.Schema, dr["Liste"].ToString(), dr["Liste"].ToString(), "id_" + dr["Liste"].ToString(), false, t, Tc.Champ, Program.AppSet.ConnectionString, Program.AppSet.ProviderType, true, false, tableCreationNeeded ? "" : "alr" + i, !tableCreationNeeded); var c = t.Colonnes[t.Colonnes.Count - 1]; //last added column c.Groupe = "!!!" + dr["Groupe"]; c.Editeur = Tabloid.Classes.Controls.TemplateType.ComboBox; //replace comboboxplus by combobox c.Titre = dr["Questions"].ToString(); c.VisibleListe = false; c.Obligatoire = true; c.Information = info; createdList.Add(dr["Liste"].ToString()); } i++; } } t.Index = TabloidConfig.Config.Views.Count - startViewCount; TabloidConfig.Config.Views.Add(t); // fill possible response table (lrx) DataView view = new DataView(_tbContainer); DataTable distinctValues = view.ToTable(true, "Liste", "Réponses"); foreach (DataRow dr in distinctValues.Rows) { if (dr.RowState != DataRowState.Deleted) { var sols = dr["Réponses"].ToString().Split(';'); var values = ""; foreach (string sol in sols) { values += $"('{DataTools.StringToSql(sol.Trim())}'),"; } values = values.TrimEnd(','); var sql = $"INSERT INTO {Program.AppSet.Schema}.{ dr["Liste"]} (nom_{ dr["Liste"]}) VALUES {values}"; string error; DataTools.Command(sql, null, Program.AppSet.ConnectionString, out error); } } //add default url field in user table var sqlType = dataHelper.DbTypeConverter.ConvertFromGenericDbType(DbType.String, Classes.WizardTools.Tools.ConvertProviderType(Program.AppSet.ProviderType)); var requestParam = new string[] { "roles", "default_url", sqlType + $"(300)", Program.AppSet.Schema }; WizardSQLHelper.ExecuteFromFile("addField.sql", requestParam, Program.AppSet.ConnectionString, this); //add role "sonde" var detailURL = AppSetting.GetDefaultPageURL(t.Nom, TabloidPages.Type.Detail) + "&mode=questionnaire"; var profileRight = (ulong)Math.Pow(2, t.Index); //var profileRight2 = ~profileRight; var sql2 = $"insert into roles (titre_role,datemaj_roles,droits_lecture,droits_ecriture,droits_limite,droits_limiteecr,droits_suppression,default_url) values ('Sondé',now(),{profileRight},{profileRight},{profileRight},{profileRight},0,'{detailURL}')"; sql2 += string.Format( SqlConverter.GetSql(SqlConverter.SqlType.InsertCommandKeyOut), "id_role"); string error2; var roleId = DataTools.ScalarCommand(sql2, null, Program.AppSet.ConnectionString, out error2); //set config Program.AppSet.TabloidType = TabloidTypes.Questionnaire; AppSetting.setDefaultPage(t.Nom); Program.AppSet.champPageDefaut = "default_url"; Program.AppSet.AutoenrollmentRole = roleId.ToString(); DialogResult = DialogResult.OK; Close(); }
private void cmbTable_SelectedIndexChanged(object sender, System.EventArgs e) { WizardSQLHelper.displayField(fieldSelector1.lstChamp, fieldSelector1.cmbTable.SelectedItem.ToString(), Program.AppSet.ConnectionString); }
private void txtViewName_TextChanged(object sender, EventArgs e) { txtTable.Text = WizardSQLHelper.TitleToSystemName(txtViewName.Text); }