Skip to content

Instantly share code, notes, and snippets.

@gskachkov
Created April 11, 2018 20:11
Show Gist options
  • Save gskachkov/bd8a1265c79b9223b7cc8077fef6236d to your computer and use it in GitHub Desktop.
Save gskachkov/bd8a1265c79b9223b7cc8077fef6236d to your computer and use it in GitHub Desktop.
[Layout(typeof(MainLayout)), Route("/fetchdata"), Route("/fetchdata/{StartDate:datetime}")]
public class FetchData : BlazorComponent
{
// Fields
[DebuggerBrowsable(0), CompilerGenerated]
private DateTime <StartDate>k__BackingField;
private WeatherForecast[] forecasts;
[DebuggerBrowsable(0), CompilerGenerated]
private HttpClient <Http>k__BackingField;
// Methods
protected override void BuildRenderTree(RenderTreeBuilder builder)
{
base.BuildRenderTree(builder);
builder.AddContent(0, "\n");
builder.OpenElement(1, "h1");
builder.AddContent(2, "Weather forecast");
builder.CloseElement();
builder.AddContent(3, "\n\n");
builder.OpenElement(4, "p");
builder.AddContent(5, "This component demonstrates fetching data from the server.");
builder.CloseElement();
builder.AddContent(6, "\n\n");
if (this.forecasts == null)
{
builder.AddContent(7, " ");
builder.OpenElement(8, "p");
builder.OpenElement(9, "em");
builder.AddContent(10, "Loading...");
builder.CloseElement();
builder.CloseElement();
builder.AddContent(11, "\n");
}
else
{
builder.AddContent(12, " ");
builder.OpenElement(13, "table");
builder.AddAttribute(14, "class", "table");
builder.AddContent(15, "\n ");
builder.OpenElement(0x10, "thead");
builder.AddContent(0x11, "\n ");
builder.OpenElement(0x12, "tr");
builder.AddContent(0x13, "\n ");
builder.OpenElement(20, "th");
builder.AddContent(0x15, "Date");
builder.CloseElement();
builder.AddContent(0x16, "\n ");
builder.OpenElement(0x17, "th");
builder.AddContent(0x18, "Temp. (C)");
builder.CloseElement();
builder.AddContent(0x19, "\n ");
builder.OpenElement(0x1a, "th");
builder.AddContent(0x1b, "Temp. (F)");
builder.CloseElement();
builder.AddContent(0x1c, "\n ");
builder.OpenElement(0x1d, "th");
builder.AddContent(30, "Summary");
builder.CloseElement();
builder.AddContent(0x1f, "\n ");
builder.CloseElement();
builder.AddContent(0x20, "\n ");
builder.CloseElement();
builder.AddContent(0x21, "\n ");
builder.OpenElement(0x22, "tbody");
builder.AddContent(0x23, "\n");
foreach (WeatherForecast forecast in this.forecasts)
{
builder.AddContent(0x24, " ");
builder.OpenElement(0x25, "tr");
builder.AddContent(0x26, "\n ");
builder.OpenElement(0x27, "td");
builder.AddContent(40, forecast.DateFormatted);
builder.CloseElement();
builder.AddContent(0x29, "\n ");
builder.OpenElement(0x2a, "td");
builder.AddContent(0x2b, (int) forecast.TemperatureC);
builder.CloseElement();
builder.AddContent(0x2c, "\n ");
builder.OpenElement(0x2d, "td");
builder.AddContent(0x2e, (int) forecast.TemperatureF);
builder.CloseElement();
builder.AddContent(0x2f, "\n ");
builder.OpenElement(0x30, "td");
builder.AddContent(0x31, forecast.Summary);
builder.CloseElement();
builder.AddContent(50, "\n ");
builder.CloseElement();
builder.AddContent(0x33, "\n");
}
builder.AddContent(0x34, " ");
builder.CloseElement();
builder.AddContent(0x35, "\n ");
builder.CloseElement();
builder.AddContent(0x36, "\n ");
builder.OpenElement(0x37, "p");
builder.AddAttribute(0x38, "class", "text-center");
builder.AddContent(0x39, "\n ");
builder.OpenElement(0x3a, "a");
builder.AddAttribute(0x3b, "class", "pull-left");
builder.AddAttribute(60, "href", "/fetchdata/" + this.StartDate.AddDays(-5.0).ToString("yyyy-MM-dd"));
builder.AddContent(0x3d, "\n ◀ Previous\n ");
builder.CloseElement();
builder.AddContent(0x3e, "\n ");
builder.OpenElement(0x3f, "a");
builder.AddAttribute(0x40, "class", "pull-right");
builder.AddAttribute(0x41, "href", "/fetchdata/" + this.StartDate.AddDays(5.0).ToString("yyyy-MM-dd"));
builder.AddContent(0x42, "\n Next ▶\n ");
builder.CloseElement();
builder.AddContent(0x43, "\n ");
builder.CloseElement();
builder.AddContent(0x44, "\n");
}
builder.AddContent(0x45, "\n");
}
[AsyncStateMachine(typeof(<OnParametersSetAsync>d__7)), DebuggerStepThrough]
protected override Task OnParametersSetAsync()
{
<OnParametersSetAsync>d__7 d__ = new <OnParametersSetAsync>d__7 {
<>4__this = this,
<>t__builder = AsyncTaskMethodBuilder.Create(),
<>1__state = -1
};
d__.<>t__builder.Start<<OnParametersSetAsync>d__7>(ref d__);
return d__.<>t__builder.get_Task();
}
public override void SetParameters(ParameterCollection parameters)
{
this.StartDate = DateTime.get_Now();
base.SetParameters(parameters);
}
// Properties
public DateTime StartDate { get; set; }
[Inject]
private HttpClient Http { get; set; }
// Nested Types
[CompilerGenerated]
private sealed class <OnParametersSetAsync>d__7 : IAsyncStateMachine
{
// Fields
public int <>1__state;
public AsyncTaskMethodBuilder <>t__builder;
public FetchData <>4__this;
private FetchData.WeatherForecast[] <>s__1;
private int <i>5__2;
private TaskAwaiter<FetchData.WeatherForecast[]> <>u__1;
// Methods
private void MoveNext()
{
int num = this.<>1__state;
try
{
TaskAwaiter<FetchData.WeatherForecast[]> awaiter;
if (num != 0)
{
awaiter = this.<>4__this.Http.GetJsonAsync<FetchData.WeatherForecast[]>($"/sample-data/weather.json?date={this.<>4__this.StartDate.ToString("yyyy-MM-dd")}").GetAwaiter();
if (!awaiter.get_IsCompleted())
{
this.<>1__state = num = 0;
this.<>u__1 = awaiter;
FetchData.<OnParametersSetAsync>d__7 d__ = this;
this.<>t__builder.AwaitUnsafeOnCompleted<TaskAwaiter<FetchData.WeatherForecast[]>, FetchData.<OnParametersSetAsync>d__7>(ref awaiter, ref d__);
return;
}
}
else
{
awaiter = this.<>u__1;
this.<>u__1 = new TaskAwaiter<FetchData.WeatherForecast[]>();
this.<>1__state = num = -1;
}
this.<>s__1 = awaiter.GetResult();
this.<>4__this.forecasts = this.<>s__1;
this.<>s__1 = null;
this.<i>5__2 = 0;
while (this.<i>5__2 < this.<>4__this.forecasts.Length)
{
this.<>4__this.forecasts[this.<i>5__2].DateFormatted = this.<>4__this.StartDate.AddDays((double) this.<i>5__2).ToShortDateString();
int num2 = this.<i>5__2;
this.<i>5__2 = num2 + 1;
}
}
catch (Exception exception)
{
this.<>1__state = -2;
this.<>t__builder.SetException(exception);
return;
}
this.<>1__state = -2;
this.<>t__builder.SetResult();
}
[DebuggerHidden]
private void SetStateMachine(IAsyncStateMachine stateMachine)
{
}
}
private class WeatherForecast
{
// Fields
[CompilerGenerated, DebuggerBrowsable(0)]
private string <DateFormatted>k__BackingField;
[DebuggerBrowsable(0), CompilerGenerated]
private int <TemperatureC>k__BackingField;
[DebuggerBrowsable(0), CompilerGenerated]
private int <TemperatureF>k__BackingField;
[DebuggerBrowsable(0), CompilerGenerated]
private string <Summary>k__BackingField;
// Properties
public string DateFormatted { get; set; }
public int TemperatureC { get; set; }
public int TemperatureF { get; set; }
public string Summary { get; set; }
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment