/// <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); }