/// <summary> /// Displays the form on which randomizing definitions can be attached to query data columns. /// </summary> /// <param name="queryDef">File containing the query definition.</param> /// <returns>List containing the column reandomization specifications.</returns> public PFList <DataTableRandomizerColumnSpec> ShowRandomizerDefinitionForm(pfQueryDef queryDef) { PFList <DataTableRandomizerColumnSpec> colSpecs = null; DataTable dt = null; DataTableRandomizer dtr = null; try { _msg.Length = 0; _msg.Append("ShowRandomizerDefinitionForm started ... "); WriteMessageToLog(_msg.ToString()); dt = GetQueryDefSchema(queryDef); if (dt == null) { _msg.Length = 0; _msg.Append("Unable to determine schema for query definition "); _msg.Append(queryDef.QueryName); WriteMessageToLog(_msg.ToString()); AppMessages.DisplayErrorMessage(_msg.ToString()); return(colSpecs); } dtr = new DataTableRandomizer(); colSpecs = dtr.GetInitColSpecListFromDataTable(dt); SyncColSpecsWithSavedValues(queryDef, colSpecs); SyncColSpecsWithDataSchema(queryDef, ref colSpecs); PFRandomDataForms.DataTableRandomizerColumnSpecForm frm = new PFRandomDataForms.DataTableRandomizerColumnSpecForm(colSpecs); frm.ColSpecs = colSpecs; DialogResult res = frm.ShowDialog(); if (res == DialogResult.OK) { colSpecs = frm.ColSpecs; _msg.Length = 0; _msg.Append(frm.ColSpecs.ToXmlString()); WriteMessageToLog(_msg.ToString()); } else { _msg.Length = 0; _msg.Append("Column spec edit cancelled."); WriteMessageToLog(_msg.ToString()); } } catch (System.Exception ex) { _msg.Length = 0; _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex)); WriteMessageToLog(_msg.ToString()); AppMessages.DisplayErrorMessage(_msg.ToString(), _saveErrorMessagesToAppLog); } finally { _msg.Length = 0; _msg.Append("... ShowRandomizerDefinitionForm finished."); WriteMessageToLog(_msg.ToString()); } return(colSpecs); }
public void ColSpecForm() { DataTable dt = null; TEST_DataTableRandomizer dtr = null; string dbConnStr = string.Empty; DatabasePlatform dbPlat = DatabasePlatform.Unknown; PFDatabase db = null; PFList <DataTableRandomizerColumnSpec> colSpecs = null; RandomNamesAndLocationsDataRequest randomizerNameSpecs = null; try { _msg.Length = 0; _msg.Append("ColSpecForm started ...\r\n"); _messageLog.WriteLine(_msg.ToString()); dbPlat = DatabasePlatform.SQLServerCE35; db = GetPFDatabaseObject(dbPlat); db.ConnectionString = GetConnectionString(dbPlat); randomizerNameSpecs = RandomNamesAndLocationsDataRequest.LoadFromXmlFile(@"C:\Testfiles\Randomizer\CountryRequestPersonsOnly.xml"); db.OpenConnection(); string sqlQuery = "select * from RandomNameData"; //listTable = db.RunQueryDataTable(sqlQuery, CommandType.Text); dt = db.GetQueryDataSchema(sqlQuery, CommandType.Text); dtr = new TEST_DataTableRandomizer(); colSpecs = dtr.GetInitColSpecListFromDataTable(dt); PFRandomDataForms.DataTableRandomizerColumnSpecForm frm = new PFRandomDataForms.DataTableRandomizerColumnSpecForm(colSpecs); DialogResult res = frm.ShowDialog(); if (res == DialogResult.OK) { //time to do something _msg.Length = 0; _msg.Append(frm.ColSpecs.ToXmlString()); _messageLog.WriteLine(_msg.ToString()); } else { _msg.Length = 0; _msg.Append("Column spec edit cancelled."); _messageLog.WriteLine(_msg.ToString()); } } catch (System.Exception ex) { _msg.Length = 0; _msg.Append(AppGlobals.AppMessages.FormatErrorMessage(ex)); _messageLog.WriteLine(_msg.ToString()); AppMessages.DisplayErrorMessage(_msg.ToString(), _saveErrorMessagesToAppLog); } finally { _msg.Length = 0; _msg.Append("\r\n... ColSpecForm finished."); _messageLog.WriteLine(_msg.ToString()); } }