Skip to content

Commit

Permalink
Upgrade to 3.0.0-preview4-19216-03
Browse files Browse the repository at this point in the history
  • Loading branch information
SQL-MisterMagoo committed Apr 26, 2019
1 parent f6eb3a9 commit db10b1c
Show file tree
Hide file tree
Showing 26 changed files with 293 additions and 236 deletions.
11 changes: 8 additions & 3 deletions src/BlazingComponents/BlazingComponents.csproj
@@ -1,9 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">
<Project Sdk="Microsoft.NET.Sdk.Razor">

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<LangVersion>7.3</LangVersion>
<IsPackable>true</IsPackable>
<RestoreAdditionalProjectSources>
https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json;
https://dotnet.myget.org/F/blazor-dev/api/v3/index.json;
</RestoreAdditionalProjectSources>
<RazorLangVersion>3.0</RazorLangVersion>
<AddRazorSupportForMvc>true</AddRazorSupportForMvc>
</PropertyGroup>

<ItemGroup>
Expand All @@ -13,8 +19,7 @@
<EmbeddedResource Include="content\**" Exclude="**\*.js;**\*.css" LogicalName="blazor:file:%(RecursiveDir)%(Filename)%(Extension)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Blazor.Browser" Version="0.7.0" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="0.7.0" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Components.Browser" Version="3.0.0-preview4-19216-03" />
</ItemGroup>

</Project>
File renamed without changes.
File renamed without changes.
@@ -1,3 +1,3 @@
<UserStateProvider>
<Router AppAssembly=typeof(Program).Assembly />
</UserStateProvider>
</UserStateProvider>
11 changes: 8 additions & 3 deletions src/BlazingPizza.Client/BlazingPizza.Client.csproj
Expand Up @@ -2,13 +2,18 @@

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<OutputType>Exe</OutputType>
<RestoreAdditionalProjectSources>
https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json;
https://dotnet.myget.org/F/blazor-dev/api/v3/index.json;
</RestoreAdditionalProjectSources>
<LangVersion>7.3</LangVersion>
<RazorLangVersion>3.0</RazorLangVersion>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Blazor.Browser" Version="0.7.0" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="0.7.0" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Blazor" Version="3.0.0-preview4-19216-03" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="3.0.0-preview4-19216-03" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.DevServer" Version="3.0.0-preview4-19216-03" PrivateAssets="all" />
</ItemGroup>

<ItemGroup>
Expand Down
Expand Up @@ -56,32 +56,33 @@
</TemplatedDialog>

@functions {
[CascadingParameter] UserStateProvider UserState { get; set; }
[CascadingParameter] UserStateProvider UserState { get; set; }

List<PizzaSpecial> specials;
List<PizzaSpecial> specials;
string BaseUri => UriHelper.GetBaseUri().TrimEnd('/');

protected async override Task OnInitAsync()
{
OrderState.StateChanged += OnOrderStateChanged;
specials = await HttpClient.GetJsonAsync<List<PizzaSpecial>>("/specials");
}
protected async override Task OnInitAsync()
{
OrderState.StateChanged += OnOrderStateChanged;
specials = await HttpClient.GetJsonAsync<List<PizzaSpecial>>($"{BaseUri}/specials");
}

void IDisposable.Dispose()
{
OrderState.StateChanged -= OnOrderStateChanged;
}
void IDisposable.Dispose()
{
OrderState.StateChanged -= OnOrderStateChanged;
}

void OnOrderStateChanged(object sender, EventArgs e) => StateHasChanged();
void OnOrderStateChanged(object sender, EventArgs e) => StateHasChanged();

async Task PlaceOrder()
{
// The server will reject the submission if you're not signed in, so attempt
// to sign in first if needed
if (await UserState.TrySignInAsync())
{
await HttpClient.PostJsonAsync("/orders", OrderState.Order);
OrderState.ResetOrder();
UriHelper.NavigateTo("myorders");
}
}
async Task PlaceOrder()
{
// The server will reject the submission if you're not signed in, so attempt
// to sign in first if needed
if (await UserState.TrySignInAsync())
{
await HttpClient.PostJsonAsync($"{BaseUri}/orders", OrderState.Order);
OrderState.ResetOrder();
UriHelper.NavigateTo("myorders");
}
}
}
@@ -1,5 +1,6 @@
@page "/myorders"
@layout ForceSignInLayout
@inject IUriHelper UriHelper
@inject HttpClient HttpClient

<div class="main">
Expand Down Expand Up @@ -30,9 +31,9 @@
</div>

@functions {
async Task<List<OrderWithStatus>> LoadOrders()
{
await Task.Delay(3000);
return await HttpClient.GetJsonAsync<List<OrderWithStatus>>("/orders");
}
string BaseUri => UriHelper.GetBaseUri().TrimEnd('/');
Task<List<OrderWithStatus>> LoadOrders()
{
return HttpClient.GetJsonAsync<List<OrderWithStatus>>($"{BaseUri}/orders");
}
}
106 changes: 0 additions & 106 deletions src/BlazingPizza.Client/Pages/OrderDetails.cshtml

This file was deleted.

109 changes: 109 additions & 0 deletions src/BlazingPizza.Client/Pages/OrderDetails.razor
@@ -0,0 +1,109 @@
@page "/myorders/{orderId:int}"
@using System.Threading
@layout ForceSignInLayout
@inject IUriHelper UriHelper
@inject HttpClient HttpClient
@implements IDisposable

<div class="main">
@if (invalidOrder)
{
<h2>Nope</h2>
<p>Sorry, this order could not be loaded.</p>
}
else if (orderWithStatus == null)
{
<text>Loading...</text>
}
else
{
<div class="track-order">
<div class="track-order-title">
<h2>
Order placed @orderWithStatus.Order.CreatedTime.ToLongDateString()
</h2>
<p class="ml-auto mb-0">
Status: <strong>@orderWithStatus.StatusText</strong>
</p>
</div>
<div class="track-order-body">
<div class="track-order-details">
@foreach (var pizza in orderWithStatus.Order.Pizzas)
{
<p>
<strong>
@(pizza.Size)"
@pizza.Special.Name
@pizza.GetFormattedTotalPrice())
</strong>
</p>

<ul>
@foreach (var topping in pizza.Toppings)
{
<li>+ @topping.Topping.Name</li>
}
</ul>
}

<p>
<strong>
Total price:
£@orderWithStatus.Order.GetFormattedTotalPrice()
</strong>
</p>
</div>
<div class="track-order-map">
<Map Zoom="13" Markers="@orderWithStatus.MapMarkers" />
</div>
</div>
</div>
}
</div>

@functions {
[Parameter] int OrderId { get; set; }

OrderWithStatus orderWithStatus;
bool invalidOrder;
CancellationTokenSource pollingCancellationToken;

string BaseUri => UriHelper.GetBaseUri().TrimEnd('/');

protected override void OnParametersSet()
{
// If we were already polling for a different order, stop doing so
pollingCancellationToken?.Cancel();

// Start a new poll loop
PollForUpdates();
}

void IDisposable.Dispose()
{
pollingCancellationToken?.Cancel();
}

private async void PollForUpdates()
{
pollingCancellationToken = new CancellationTokenSource();
while (!pollingCancellationToken.IsCancellationRequested)
{
try
{
invalidOrder = false;
orderWithStatus = await HttpClient.GetJsonAsync<OrderWithStatus>($"{BaseUri}/orders/{OrderId}");
}
catch (Exception ex)
{
invalidOrder = true;
pollingCancellationToken.Cancel();
Console.Error.WriteLine(ex);
}

StateHasChanged();

await Task.Delay(4000);
}
}
}
@@ -1,4 +1,5 @@
@inject HttpClient HttpClient
@inject IUriHelper UriHelper
@inject HttpClient HttpClient

<div class="dialog-title">
<h2>@Pizza.Special.Name</h2>
Expand Down Expand Up @@ -63,9 +64,11 @@
[Parameter] Action OnCancel { get; set; }
[Parameter] Action OnConfirm { get; set; }

string BaseUri => UriHelper.GetBaseUri().TrimEnd('/');

protected async override Task OnInitAsync()
{
toppings = await HttpClient.GetJsonAsync<List<Topping>>("/toppings");
toppings = await HttpClient.GetJsonAsync<List<Topping>>($"{BaseUri}/toppings");
}

void ToppingSelected(UIChangeEventArgs e)
Expand Down
@@ -1,4 +1,4 @@
@inherits BlazorLayoutComponent
@inherits LayoutComponentBase
@layout MainLayout

@if (UserState.CurrentUser == null) // Retrieving the login state
Expand Down
@@ -1,4 +1,4 @@
@inherits BlazorLayoutComponent
@inherits LayoutComponentBase

<div class="top-bar">
<img class="logo" src="img/logo.svg" />
Expand Down

0 comments on commit db10b1c

Please sign in to comment.