public Task <ActionResult> GetDataAsync() { CompilerGenerated_GetDataAsync stateMachine = new CompilerGenerated_GetDataAsync(); stateMachine.taskBuilder = AsyncTaskMethodBuilder <ActionResult> .Create(); stateMachine.sampleOneControllerInstance = this; stateMachine.currentState = -1; stateMachine.taskBuilder.Start(ref stateMachine); return(stateMachine.taskBuilder.Task); }
private void MoveNext() { int num = currentState; ActionResult result; try { TaskAwaiter <string> awaiter; TaskAwaiter <HttpResponseMessage> awaiter2; if (num != 0) { if (num == 1) { awaiter = stringTaskAwaiter; stringTaskAwaiter = default(TaskAwaiter <string>); num = (currentState = -1); goto IL_0157; } httpClient = new HttpClient(); httpRequestMessage = sampleOneControllerInstance.GetHttpRequestMessage_GitHubApi(); awaiter2 = httpClient.SendAsync(httpRequestMessage).GetAwaiter(); if (!awaiter2.IsCompleted) { num = (currentState = 0); theTaskAwaiter = awaiter2; CompilerGenerated_GetDataAsync stateMachine = this; taskBuilder.AwaitUnsafeOnCompleted(ref awaiter2, ref stateMachine); return; } } else { awaiter2 = theTaskAwaiter; theTaskAwaiter = default(TaskAwaiter <HttpResponseMessage>); num = (currentState = -1); } httpResponseMessage_2 = awaiter2.GetResult(); responseMessage = httpResponseMessage_2; httpResponseMessage_2 = null; responseModel = new CompilerGenerated_ResponseModel(); if (responseMessage.IsSuccessStatusCode) { responseModel.Success = true; responseModel_2 = responseModel; awaiter = responseMessage.Content.ReadAsStringAsync().GetAwaiter(); if (!awaiter.IsCompleted) { num = (currentState = 1); stringTaskAwaiter = awaiter; CompilerGenerated_GetDataAsync stateMachine = this; taskBuilder.AwaitUnsafeOnCompleted(ref awaiter, ref stateMachine); return; } goto IL_0157; } responseModel.Message = "Failed to load data from API"; goto IL_019a; IL_0157: resultValue = awaiter.GetResult(); responseModel_2.Message = resultValue; responseModel_2 = null; resultValue = null; goto IL_019a; IL_019a: result = (ActionResult)this.sampleOneControllerInstance.Json((object)this.responseModel); } catch (Exception exception) { currentState = -2; httpClient = null; httpRequestMessage = null; responseMessage = null; responseModel = null; taskBuilder.SetException(exception); return; } currentState = -2; httpClient = null; httpRequestMessage = null; responseMessage = null; responseModel = null; taskBuilder.SetResult(result); }