/// <summary> /// See <see cref="INfieldExternalApisLogService.PostAsync"/> /// </summary> public Task <string> PostAsync(ExternalApiLogDownload logDownloadRequest) { Ensure.ArgumentNotNull(logDownloadRequest, nameof(logDownloadRequest)); return(Client.PostAsJsonAsync(ExternalApiDownloadLogUri, logDownloadRequest) .ContinueWith(task => task.Result.Content.ReadAsStringAsync().Result) .ContinueWith(task => JsonConvert.DeserializeObject <BackgroundActivityStatus>(task.Result)) .ContinueWith(task => ConnectionClient.GetActivityResultAsync <string>(task.Result.ActivityId, "DownloadDataUrl").Result) .FlattenExceptions()); }
public Task <int> DeleteAsync(string surveyId, int interviewId) { CheckSurveyId(surveyId); return(Client.DeleteAsync(InterviewsApiUri(surveyId, interviewId)) .ContinueWith( responseMessageTask => responseMessageTask.Result.Content.ReadAsStringAsync().Result) .ContinueWith(stringResult => JsonConvert.DeserializeObject <BackgroundActivityStatus>(stringResult.Result).ActivityId) .ContinueWith(activityResult => ConnectionClient.GetActivityResultAsync <int>(activityResult.Result, "DeletedTotal")) .Unwrap() .FlattenExceptions()); }
private Task <int> ClearAsync(string surveyId, List <SampleFilter> filters, IEnumerable <string> columnsToClear) { var uri = new Uri(SurveySampleUrl(surveyId) + "Clear"); var request = new ClearSurveySampleModel { Filters = filters, Columns = columnsToClear }; return(Client.PutAsJsonAsync(uri, request) .ContinueWith(responseMessageTask => responseMessageTask.Result.Content.ReadAsStringAsync().Result) .ContinueWith(stringResult => JsonConvert.DeserializeObject <BackgroundActivityStatus>(stringResult.Result).ActivityId) .ContinueWith(activityResult => ConnectionClient.GetActivityResultAsync <int>(activityResult.Result, "ClearTotal")) .Unwrap() .FlattenExceptions()); }
public Task <int> DeleteAsync(string surveyId, string respondentKey) { Ensure.ArgumentNotNullOrEmptyString(surveyId, nameof(surveyId)); Ensure.ArgumentNotNullOrEmptyString(respondentKey, nameof(respondentKey)); var uri = SurveySampleUrl(surveyId); var filters = new List <SampleFilter> { new SampleFilter { Name = RespondentKey, Op = "eq", Value = respondentKey } }; return(Client.DeleteAsJsonAsync <IEnumerable <SampleFilter> >(uri, filters) .ContinueWith(responseMessageTask => responseMessageTask.Result.Content.ReadAsStringAsync().Result) .ContinueWith(stringResult => JsonConvert.DeserializeObject <BackgroundActivityStatus>(stringResult.Result).ActivityId) .ContinueWith(activityResult => ConnectionClient.GetActivityResultAsync <int>(activityResult.Result, "DeletedTotal")) .Unwrap() .FlattenExceptions()); }