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