public void CreateDataTable(string DataTableName) { try { List <string> required = new List <string>(); required.Add("key"); Dictionary <string, object> properties = new Dictionary <string, object>(); bool addprop = false; Dictionary <string, string> item = new Dictionary <string, string>(); item.Add("title", "DNIS"); item.Add("type", "string"); properties.Add("key", item); item.Clear(); item.Add("title", "Description"); item.Add("type", "string"); properties.Add("Description", item); PureCloudPlatform.Client.V2.Model.JsonSchemaDocument schema = new PureCloudPlatform.Client.V2.Model.JsonSchemaDocument(null, null, DataTableName, DataTableName, "object", required, properties, addprop); var json_debug = schema.ToJson(); PureCloudPlatform.Client.V2.Model.DataTable body = new PureCloudPlatform.Client.V2.Model.DataTable(DataTableName, DataTableName, schema); var datatableEntityListing = architect.PostFlowsDatatables(body); } catch (Exception ex) { AddLog($"Error in CreateDataTable: {ex.Message}"); MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void CreateAndFillDataTable(string DataTableName, string filename) { try { List <string> fields = new List <string>(); string line; var result = this.GetDataTableId(DataTableName); StreamReader file = new StreamReader(filename); line = file.ReadLine(); Console.WriteLine(line); var colonnes = line.Split(';'); foreach (var colonne in colonnes) { fields.Add(colonne); } file.Close(); List <string> required = new List <string>(); required.Add("key"); Dictionary <string, object> properties = new Dictionary <string, object>(); bool addprop = false; Dictionary <string, string> item = new Dictionary <string, string>(); bool first_item = true; foreach (var field in fields) { item.Clear(); item.Add("title", field); item.Add("type", "string"); if (first_item) { properties.Add("key", item); first_item = false; } else { properties.Add(field, item); } } PureCloudPlatform.Client.V2.Model.JsonSchemaDocument schema = new PureCloudPlatform.Client.V2.Model.JsonSchemaDocument(null, null, DataTableName, DataTableName, "object", required, properties, addprop); var json_debug = schema.ToJson(); PureCloudPlatform.Client.V2.Model.DataTable body = new PureCloudPlatform.Client.V2.Model.DataTable(DataTableName, DataTableName, schema); var datatableEntityListing = architect.PostFlowsDatatables(body); } catch (Exception ex) { AddLog($"Error in CreateDataTable: {ex.Message}"); MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Create DataTables from the CSV file. Create the structure from the header of the CSV. /// If the CSV contains a fields with true/false, it create the boolean field /// </summary> /// <param name="filename"></param> public void CreateAndFillDataTable(string filename) { try { List <string> required = new List <string>(); required.Add("key"); bool columnKey = true; bool addprop = false; StreamReader file = new StreamReader(filename); string line = file.ReadLine(); var shortFileName = Path.GetFileNameWithoutExtension(filename); List <string> fields = new List <string>(); Dictionary <string, object> properties = new Dictionary <string, object>(); var colonnes = line.Split(';'); foreach (var colonne in colonnes) { fields.Add(colonne); } file.Close(); foreach (var column in fields) { Dictionary <string, string> item = new Dictionary <string, string>(); item.Add("title", column); var typeField = checkType(filename, column); item.Add("type", typeField); if (columnKey) { properties.Add("key", item); columnKey = false; } else { properties.Add(column, item); } } var dataTableId = GetDataTableId(shortFileName); if (dataTableId.Equals("")) { PureCloudPlatform.Client.V2.Model.JsonSchemaDocument schema = new PureCloudPlatform.Client.V2.Model.JsonSchemaDocument(null, null, shortFileName, shortFileName, "object", required, properties, addprop); var json_debug = schema.ToJson(); PureCloudPlatform.Client.V2.Model.DataTable body = new PureCloudPlatform.Client.V2.Model.DataTable(shortFileName, shortFileName, schema); var datatableEntityListing = architect.PostFlowsDatatables(body); dataTableId = this.GetDataTableId(shortFileName); } AddRows(filename, dataTableId); } catch (Exception ex) { AddLog($"Error in CreateDataTable: {ex.Message}"); MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }