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