/// <summary> /// Sets data to database. /// </summary> protected void btnOK_Click(object sender, EventArgs e) { if (!BizFormInfoProvider.LicenseVersionCheck(RequestContext.CurrentDomain, FeatureEnum.BizForms, ObjectActionEnum.Insert)) { ShowError(GetString("LicenseVersion.BizForm")); return; } string formDisplayName = txtFormDisplayName.Text.Trim(); string formName = txtFormName.Text.Trim(); string tableName = txtTableName.Text.Trim(); string errorMessage = new Validator().NotEmpty(formDisplayName, rfvFormDisplayName.ErrorMessage). NotEmpty(formName, rfvFormName.ErrorMessage). NotEmpty(tableName, rfvTableName.ErrorMessage). IsIdentifier(formName, GetString("bizform_edit.errorformnameinidentifierformat")). IsIdentifier(tableName, GetString("BizForm_Edit.ErrorFormTableNameInIdentifierFormat")).Result; if (!String.IsNullOrEmpty(errorMessage)) { ShowError(errorMessage); return; } try { var bizFormObj = BizFormHelper.Create(formDisplayName, formName, tableName, SiteContext.CurrentSite); // Redirect to Form builder tab string url = UIContextHelper.GetElementUrl("CMS.Form", "Forms.Properties", false, bizFormObj.FormID); url = URLHelper.AddParameterToUrl(url, "tabname", bizFormObj.FormDevelopmentModel == (int)FormDevelopmentModelEnum.WebForms ? "Forms.FormBuilder" : "Forms.FormBuilderMVC"); URLHelper.Redirect(url); } catch (BizFormTableNameNotUniqueException ex) { ShowError(string.Format(GetString("bizform_edit.errortableexists"), ex.TableName)); } catch (BizFormException ex) { EventLogProvider.LogException("BIZFORM_NEW", EventType.ERROR, ex); ShowError(ex.InnerException?.Message ?? ex.Message); } }
/// <summary> /// Sets data to database. /// </summary> protected void btnOK_Click(object sender, EventArgs e) { if (!BizFormInfoProvider.LicenseVersionCheck(RequestContext.CurrentDomain, FeatureEnum.BizForms, ObjectActionEnum.Insert)) { ShowError(GetString("LicenseVersion.BizForm")); return; } string formDisplayName = txtFormDisplayName.Text.Trim(); string formName = txtFormName.Text.Trim(); string tableName = txtTableName.Text.Trim(); string errorMessage = new Validator().NotEmpty(formDisplayName, rfvFormDisplayName.ErrorMessage). NotEmpty(formName, rfvFormName.ErrorMessage). NotEmpty(tableName, rfvTableName.ErrorMessage). IsIdentifier(formName, GetString("bizform_edit.errorformnameinidentifierformat")). IsIdentifier(tableName, GetString("BizForm_Edit.ErrorFormTableNameInIdentifierFormat")).Result; if (!String.IsNullOrEmpty(errorMessage)) { ShowError(errorMessage); return; } var bizFormObj = new BizFormInfo { FormDisplayName = formDisplayName, FormName = formName, FormSiteID = SiteContext.CurrentSiteID, FormEmailAttachUploadedDocs = true, FormItems = 0, FormClearAfterSave = false, FormLogActivity = true }; // Ensure the code name bizFormObj.Generalized.EnsureCodeName(); // Table name is combined from prefix ('BizForm_<sitename>_') and custom table name string safeFormName = ValidationHelper.GetIdentifier(bizFormObj.FormName); bizFormObj.FormName = safeFormName; string className = bizFormNamespace + "." + safeFormName; // Generate the table name if (String.IsNullOrEmpty(tableName) || (tableName == InfoHelper.CODENAME_AUTOMATIC)) { tableName = safeFormName; } tableName = FormTablePrefix + tableName; TableManager tm = new TableManager(null); // TableName wont be longer than 60 letters and will be unique if (tableName.Length > 60) { string tmpTableName = tableName.Substring(0, 59); int x = 1; do { tableName = tmpTableName + x; x++; } while (tm.TableExists(tableName)); } // TableName should be unique if (tm.TableExists(tableName)) { ShowError(string.Format(GetString("bizform_edit.errortableexists"), tableName)); return; } // If first letter of safeFormName is digit, add "PK" to beginning string primaryKey = BizFormInfoProvider.GenerateFormPrimaryKeyName(bizFormObj.FormName); try { // Create new table in DB tm.CreateTable(tableName, primaryKey); } catch (Exception ex) { EventLogProvider.LogException("BIZFORM_NEW", EventType.ERROR, ex); ShowError(string.Format(GetString("bizform_edit.createtableerror"), tableName)); return; } // Change table owner try { string owner = SqlHelper.GetDBSchema(SiteContext.CurrentSiteName); if (!String.IsNullOrEmpty(owner) && (owner.ToLowerCSafe() != "dbo")) { tm.ChangeDBObjectOwner(tableName, owner); tableName = owner + "." + tableName; } } catch (Exception ex) { EventLogProvider.LogException("BIZFORM_NEW", EventType.ERROR, ex); } // Create the BizForm class DataClassInfo dci = BizFormInfoProvider.CreateBizFormDataClass(className, formDisplayName, tableName, primaryKey); try { // Create new bizform dataclass using (CMSActionContext context = new CMSActionContext()) { // Disable logging of tasks context.DisableLogging(); DataClassInfoProvider.SetDataClassInfo(dci); } } catch (Exception ex) { EventLogProvider.LogException("BIZFORM_NEW", EventType.ERROR, ex); ShowError(ex.Message); CleanUpOnError(tableName, tm, dci); return; } // Create new bizform bizFormObj.FormClassID = dci.ClassID; try { BizFormInfoProvider.SetBizFormInfo(bizFormObj); } catch (Exception ex) { EventLogProvider.LogException("BIZFORM_NEW", EventType.ERROR, ex); ShowError(ex.Message); CleanUpOnError(tableName, tm, dci, bizFormObj); return; } // Redirect to Form builder tab string url = UIContextHelper.GetElementUrl("CMS.Form", "Forms.Properties", false, bizFormObj.FormID); url = URLHelper.AddParameterToUrl(url, "tabname", "Forms.FormBuldier"); URLHelper.Redirect(url); }
/// <summary> /// Sets data to database. /// </summary> protected void btnOK_Click(object sender, EventArgs e) { if (!BizFormInfoProvider.LicenseVersionCheck(RequestContext.CurrentDomain, FeatureEnum.BizForms, ObjectActionEnum.Insert)) { ShowError(GetString("LicenseVersion.BizForm")); return; } DataClassInfo dci = null; BizFormInfo bizFormObj = null; string errorMessage = new Validator().NotEmpty(txtFormDisplayName.Text, rfvFormDisplayName.ErrorMessage). NotEmpty(txtFormName.Text, rfvFormName.ErrorMessage). NotEmpty(txtTableName.Text, rfvTableName.ErrorMessage). IsIdentifier(txtFormName.Text, GetString("bizform_edit.errorformnameinidentifierformat")). IsIdentifier(txtTableName.Text, GetString("BizForm_Edit.ErrorFormTableNameInIdentifierFormat")).Result; if (String.IsNullOrEmpty(errorMessage)) { using (var tr = new CMSTransactionScope()) { // Prepare the values string formDisplayName = txtFormDisplayName.Text.Trim(); bizFormObj = new BizFormInfo(); bizFormObj.FormDisplayName = formDisplayName; bizFormObj.FormName = txtFormName.Text.Trim(); bizFormObj.FormSiteID = SiteContext.CurrentSiteID; bizFormObj.FormEmailAttachUploadedDocs = true; bizFormObj.FormItems = 0; bizFormObj.FormClearAfterSave = false; bizFormObj.FormLogActivity = true; // Ensure the code name bizFormObj.Generalized.EnsureCodeName(); // Table name is combined from prefix ('BizForm_<sitename>_') and custom table name string safeFormName = ValidationHelper.GetIdentifier(bizFormObj.FormName); bizFormObj.FormName = safeFormName; string className = bizFormNamespace + "." + safeFormName; // Generate the table name string tableName = txtTableName.Text.Trim(); if (String.IsNullOrEmpty(tableName) || (tableName == InfoHelper.CODENAME_AUTOMATIC)) { tableName = safeFormName; } tableName = FormTablePrefix + tableName; TableManager tm = new TableManager(null); // TableName wont be longer than 60 letters and will be unique if (tableName.Length > 60) { int x = 1; while (tm.TableExists(tableName.Substring(0, 59) + x.ToString())) { x++; } tableName = tableName.Substring(0, 59) + x.ToString(); } // If first letter of safeFormName is digit, add "PK" to beginning string primaryKey = BizFormInfoProvider.GenerateFormPrimaryKeyName(bizFormObj.FormName); try { // Create new table in DB tm.CreateTable(tableName, primaryKey); } catch (Exception ex) { errorMessage = ex.Message; // Table with the same name already exists ShowError(string.Format(GetString("bizform_edit.errortableexists"), tableName)); return; } // Change table owner try { string owner = SqlHelper.GetDBSchema(SiteContext.CurrentSiteName); if ((!String.IsNullOrEmpty(owner)) && (owner.ToLowerCSafe() != "dbo")) { tm.ChangeDBObjectOwner(tableName, owner); tableName = owner + "." + tableName; } } catch (Exception ex) { EventLogProvider.LogException("BIZFORM_NEW", "E", ex); } // Convert default datetime to string in english format string defaultDateTime = DateTime.Now.ToString(CultureHelper.EnglishCulture.DateTimeFormat); try { // Add FormInserted and FormUpdated columns to the table tm.AddTableColumn(tableName, "FormInserted", "datetime", false, defaultDateTime); tm.AddTableColumn(tableName, "FormUpdated", "datetime", false, defaultDateTime); } catch (Exception ex) { errorMessage = ex.Message; // Column wasn't added successfully ShowError(errorMessage); return; } // Create the BizForm class dci = BizFormInfoProvider.CreateBizFormDataClass(className, formDisplayName, tableName, primaryKey); try { // Create new bizform dataclass using (CMSActionContext context = new CMSActionContext()) { // Disable logging of tasks context.DisableLogging(); // Set default search settings dci.ClassSearchEnabled = true; DataClassInfoProvider.SetDataClassInfo(dci); // Create default search settings dci.ClassSearchSettings = SearchHelper.GetDefaultSearchSettings(dci); dci.ClassSearchCreationDateColumn = "FormInserted"; DataClassInfoProvider.SetDataClassInfo(dci); } } catch (Exception ex) { errorMessage = ex.Message; // Class with the same name already exists ShowError(errorMessage); return; } // Create new bizform bizFormObj.FormClassID = dci.ClassID; try { // Create new bizform BizFormInfoProvider.SetBizFormInfo(bizFormObj); } catch (Exception ex) { errorMessage = ex.Message; ShowError(errorMessage); return; } tr.Commit(); if (String.IsNullOrEmpty(errorMessage)) { // Redirect to Form builder tab string url = UIContextHelper.GetElementUrl("CMS.Form", "Forms.Properties", false, bizFormObj.FormID); url = URLHelper.AddParameterToUrl(url, "tabname", "Forms.FormBuldier"); URLHelper.Redirect(url); } } } else { ShowError(errorMessage); } }
/// <summary> /// Sets data to database. /// </summary> protected void btnOK_Click(object sender, EventArgs e) { DataClassInfo dci = null; BizFormInfo bizFormObj = null; string errorMessage = new Validator().NotEmpty(txtFormDisplayName.Text, rfvFormDisplayName.ErrorMessage). NotEmpty(txtFormName.Text, rfvFormName.ErrorMessage). NotEmpty(txtTableName.Text, rfvTableName.ErrorMessage). IsIdentificator(txtFormName.Text, GetString("BizForm_Edit.ErrorFormNameInIdentificatorFormat")). IsIdentificator(txtTableName.Text, GetString("BizForm_Edit.ErrorFormTableNameInIdentificatorFormat")).Result; if (String.IsNullOrEmpty(errorMessage)) { string formCodeName = txtFormName.Text.Trim(); // Form name must be unique BizFormInfo testObj = BizFormInfoProvider.GetBizFormInfo(formCodeName, CMSContext.CurrentSiteName); // If formName value is unique... if (testObj == null) { string primaryKey = formCodeName + "ID"; string formDisplayName = txtFormDisplayName.Text.Trim(); string className = bizFormNamespace + "." + formCodeName; // Table name is combined from prefix ('BizForm_<sitename>_') and custom table name string tableName = FormTablePrefix + txtTableName.Text.Trim(); if (!BizFormInfoProvider.LicenseVersionCheck(URLHelper.GetCurrentDomain(), FeatureEnum.BizForms, VersionActionEnum.Insert)) { lblError.Visible = true; lblError.Text = GetString("LicenseVersion.BizForm"); } if (!lblError.Visible) { try { // Create new table in DB TableManager.CreateTable(tableName, primaryKey); } catch (Exception ex) { errorMessage = ex.Message; // Table with the same name already exists lblError.Visible = true; lblError.Text = string.Format(GetString("bizform_edit.errortableexists"), tableName); } if (String.IsNullOrEmpty(errorMessage)) { // Change table owner try { string owner = SqlHelperClass.GetDBSchema(CMSContext.CurrentSiteName); if ((!String.IsNullOrEmpty(owner)) && (owner.ToLower() != "dbo")) { TableManager.ChangeDBObjectOwner(tableName, owner); tableName = owner + "." + tableName; } } catch (Exception ex) { EventLogProvider.LogException("BIZFORM_NEW", "E", ex); } // Convert default datetime to string in english format string defaultDateTime = DateTime.Now.ToString(CultureHelper.EnglishCulture.DateTimeFormat); try { // Add FormInserted and FormUpdated columns to the table TableManager.AddTableColumn(tableName, "FormInserted", "datetime", false, defaultDateTime); TableManager.AddTableColumn(tableName, "FormUpdated", "datetime", false, defaultDateTime); } catch (Exception ex) { errorMessage = ex.Message; // Column wasnt added successfuly lblError.Visible = true; lblError.Text = errorMessage; // Delete created table TableManager.DropTable(tableName); } } if (String.IsNullOrEmpty(errorMessage)) { dci = BizFormInfoProvider.CreateBizFormDataClass(className, formDisplayName, tableName, primaryKey); try { // Create new bizform dataclass using (CMSActionContext context = new CMSActionContext()) { // Disable logging of tasks context.DisableLogging(); DataClassInfoProvider.SetDataClass(dci); } } catch (Exception ex) { errorMessage = ex.Message; // Class with the same name already exists lblError.Visible = true; lblError.Text = errorMessage; // Delete created table TableManager.DropTable(tableName); } } if (String.IsNullOrEmpty(errorMessage)) { // Create new bizform bizFormObj = new BizFormInfo(); bizFormObj.FormDisplayName = formDisplayName; bizFormObj.FormName = formCodeName; bizFormObj.FormClassID = dci.ClassID; bizFormObj.FormSiteID = CMSContext.CurrentSiteID; bizFormObj.FormEmailAttachUploadedDocs = true; bizFormObj.FormItems = 0; bizFormObj.FormClearAfterSave = false; bizFormObj.FormLogActivity = true; try { // Create new bizform BizFormInfoProvider.SetBizFormInfo(bizFormObj); // Generate basic queries SqlGenerator.GenerateQuery(className, "selectall", SqlOperationTypeEnum.SelectAll, false); SqlGenerator.GenerateQuery(className, "delete", SqlOperationTypeEnum.DeleteQuery, false); SqlGenerator.GenerateQuery(className, "insert", SqlOperationTypeEnum.InsertQuery, true); SqlGenerator.GenerateQuery(className, "update", SqlOperationTypeEnum.UpdateQuery, false); SqlGenerator.GenerateQuery(className, "select", SqlOperationTypeEnum.SelectQuery, false); } catch (Exception ex) { errorMessage = ex.Message; lblError.Visible = true; lblError.Text = errorMessage; // Delete created class (includes deleting its table) if (dci != null) { using (CMSActionContext context = new CMSActionContext()) { // Disable logging of tasks context.DisableLogging(); DataClassInfoProvider.DeleteDataClass(dci); } } } if (String.IsNullOrEmpty(errorMessage)) { // Redirect to edit dialog URLHelper.Redirect(string.Format("BizForm_Frameset.aspx?formId={0}&newform=1", bizFormObj.FormID)); } } } } else { lblError.Visible = true; lblError.Text = GetString("BizForm_Edit.FormNameExists"); } } else { lblError.Visible = true; lblError.Text = errorMessage; } }