public Task <bool> UpdateAsync(string surveyId, int sampleRecordId, IEnumerable <SampleColumnUpdate> columnsToUpdate)
        {
            Ensure.ArgumentNotNullOrEmptyString(surveyId, nameof(surveyId));
            Ensure.ArgumentEnumerableNotNullOrEmpty(columnsToUpdate, nameof(columnsToUpdate));
            var m = new SurveyUpdateSampleRecordModel
            {
                SampleRecordId = sampleRecordId,
                ColumnUpdates  = columnsToUpdate
            };

            var uri = new Uri(SurveySampleUrl(surveyId), "Update");

            return(Client.PutAsJsonAsync(uri, m)
                   .ContinueWith(responseMessageTask => responseMessageTask.Result.Content.ReadAsStringAsync().Result)
                   .ContinueWith(stringResult => JsonConvert.DeserializeObject <SampleUpdateStatus>(stringResult.Result).ResultStatus)
                   .FlattenExceptions());
        }