/// <summary>
        /// Updates the dataset schema
        /// </summary>
        /// <param name="datasetId"></param>
        /// <param name="datasetSchema"></param>
        /// <returns>Http Response from Dataset Metadata request</returns>
        public async Task <HttpResponseMessage> UpdateDatasetMetadataAsync(string datasetId, IDatasetSchema schema)
        {
            string datasetUri = $"v1/datasets/{datasetId}";

            _domoHttpClient.SetAcceptRequestHeaders("application/json");
            DatasetSchema correctSchema = new DatasetSchema()
            {
                Description = schema.Description, Rows = schema.Rows, Name = schema.Name, Schema = schema.Schema
            };
            string        schemaJson = JsonConvert.SerializeObject(correctSchema, _serializerSettings);
            StringContent content    = new StringContent(schemaJson, Encoding.UTF8, "application/json");

            var response = await _domoHttpClient.Client.PutAsync(datasetUri, content);

            return(response);
        }
        /// <summary>
        /// Creates a dataset in DOMO with the specified schema. Does not populate dataset with data.
        /// </summary>
        /// <param name="schema"></param>
        /// <returns>Dataset object with newly created dataset information</returns>
        public async Task <Dataset> CreateDatasetAsync(IDatasetSchema schema)
        {
            string datasetUri = "v1/datasets";

            _domoHttpClient.SetAcceptRequestHeaders("application/json");
            DatasetSchema correctSchema = new DatasetSchema()
            {
                Description = schema.Description, Rows = schema.Rows, Name = schema.Name, Schema = schema.Schema
            };
            string        schemaJson = JsonConvert.SerializeObject(correctSchema, _serializerSettings);
            StringContent content    = new StringContent(schemaJson, Encoding.UTF8, "application/json");
            var           response   = await _domoHttpClient.Client.PostAsync(datasetUri, content);

            string responseMessage = await response.Content.ReadAsStringAsync();

            var newDataset = JsonConvert.DeserializeObject <Dataset>(responseMessage);

            return(newDataset);
        }