From 9016794111d725be590589b7f385cad6ba40a226 Mon Sep 17 00:00:00 2001 From: Pranav K Date: Tue, 25 Jun 2019 11:05:45 -0700 Subject: [PATCH] Fixup templates (#11351) * Fixup templates --- .../Pages/FetchData.razor | 2 +- ...roller.cs => WeatherForecastController.cs} | 21 +++++-- .../WebApi-FSharp.fsproj.in | 3 +- .../Services/GreeterService.cs | 7 ++- .../Data/WeatherForecastService.cs | 2 +- .../Pages/Error.cshtml.cs | 7 ++- .../Pages/Index.cshtml.cs | 7 ++- .../Pages/Privacy.cshtml.cs | 7 ++- .../Controllers/HomeController.cs | 9 +-- .../Controllers/HomeController.fs | 3 +- .../Controllers/WeatherController.cs | 51 ----------------- .../Controllers/WeatherForecastController.cs | 45 +++++++++++++++ .../content/WebApi-CSharp/WeatherForecast.cs | 15 +++++ .../Controllers/WeatherController.fs | 34 ----------- .../Controllers/WeatherForecastController.fs | 26 +++++++++ .../content/WebApi-FSharp/WeatherForecast.fs | 11 ++++ .../app/fetch-data/fetch-data.component.ts | 2 +- .../Controllers/SampleDataController.cs | 57 ------------------- .../Controllers/WeatherForecastController.cs | 45 +++++++++++++++ .../Angular-CSharp/Pages/Error.cshtml.cs | 7 ++- .../content/Angular-CSharp/WeatherForecast.cs | 15 +++++ .../ClientApp/src/components/FetchData.js | 4 +- .../OidcConfigurationController.cs | 6 +- .../Controllers/SampleDataController.cs | 57 ------------------- .../Controllers/WeatherForecastController.cs | 45 +++++++++++++++ .../React-CSharp/Pages/Error.cshtml.cs | 7 ++- .../content/React-CSharp/WeatherForecast.cs | 15 +++++ .../ClientApp/src/store/WeatherForecasts.ts | 2 +- .../Controllers/SampleDataController.cs | 51 ----------------- .../Controllers/WeatherForecastController.cs | 45 +++++++++++++++ .../ReactRedux-CSharp/WeatherForecast.cs | 15 +++++ .../test/WebApiTemplateTest.cs | 4 +- .../test/template-baselines.json | 24 +++++--- 33 files changed, 351 insertions(+), 300 deletions(-) rename src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Controllers/{SampleDataController.cs => WeatherForecastController.cs} (58%) delete mode 100644 src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/Controllers/WeatherController.cs create mode 100644 src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/Controllers/WeatherForecastController.cs create mode 100644 src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/WeatherForecast.cs delete mode 100644 src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Controllers/WeatherController.fs create mode 100644 src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Controllers/WeatherForecastController.fs create mode 100644 src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/WeatherForecast.fs delete mode 100644 src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Controllers/SampleDataController.cs create mode 100644 src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Controllers/WeatherForecastController.cs create mode 100644 src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/WeatherForecast.cs delete mode 100644 src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Controllers/SampleDataController.cs create mode 100644 src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Controllers/WeatherForecastController.cs create mode 100644 src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/WeatherForecast.cs delete mode 100644 src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/Controllers/SampleDataController.cs create mode 100644 src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/Controllers/WeatherForecastController.cs create mode 100644 src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/WeatherForecast.cs diff --git a/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/FetchData.razor b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/FetchData.razor index 553979536a..ea1ba916c9 100644 --- a/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/FetchData.razor +++ b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Client/Pages/FetchData.razor @@ -40,6 +40,6 @@ else protected override async Task OnInitAsync() { - forecasts = await Http.GetJsonAsync("api/SampleData/WeatherForecasts"); + forecasts = await Http.GetJsonAsync("weatherforecast"); } } diff --git a/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Controllers/SampleDataController.cs b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Controllers/WeatherForecastController.cs similarity index 58% rename from src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Controllers/SampleDataController.cs rename to src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Controllers/WeatherForecastController.cs index 2a7d8a515c..93cb808582 100644 --- a/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Controllers/SampleDataController.cs +++ b/src/Components/Blazor/Templates/src/content/BlazorHosted-CSharp/BlazorHosted-CSharp.Server/Controllers/WeatherForecastController.cs @@ -7,16 +7,24 @@ using System.Threading.Tasks; namespace BlazorHosted_CSharp.Server.Controllers { - [Route("api/[controller]")] - public class SampleDataController : Controller + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase { - private static string[] Summaries = new[] + private static readonly string[] Summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; - [HttpGet("[action]")] - public IEnumerable WeatherForecasts() + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet] + public IEnumerable Get() { var rng = new Random(); return Enumerable.Range(1, 5).Select(index => new WeatherForecast @@ -24,7 +32,8 @@ namespace BlazorHosted_CSharp.Server.Controllers Date = DateTime.Now.AddDays(index), TemperatureC = rng.Next(-20, 55), Summary = Summaries[rng.Next(Summaries.Length)] - }); + }) + .ToArray(); } } } diff --git a/src/ProjectTemplates/Web.ProjectTemplates/WebApi-FSharp.fsproj.in b/src/ProjectTemplates/Web.ProjectTemplates/WebApi-FSharp.fsproj.in index c6017dc6c8..714aa82b2e 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/WebApi-FSharp.fsproj.in +++ b/src/ProjectTemplates/Web.ProjectTemplates/WebApi-FSharp.fsproj.in @@ -7,7 +7,8 @@ - + + diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/Services/GreeterService.cs b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/Services/GreeterService.cs index b10d62ad78..da0169c658 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/Services/GreeterService.cs +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/GrpcService-CSharp/Services/GreeterService.cs @@ -9,11 +9,12 @@ namespace GrpcService_CSharp { public class GreeterService : Greeter.GreeterBase { - private readonly ILogger logger; - public GreeterService(ILogger _logger) + private readonly ILogger _logger; + public GreeterService(ILogger logger) { - logger = _logger; + _logger = logger; } + public override Task SayHello(HelloRequest request, ServerCallContext context) { return Task.FromResult(new HelloReply diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/Data/WeatherForecastService.cs b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/Data/WeatherForecastService.cs index 1e27490eda..9d2bfa5f1d 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/Data/WeatherForecastService.cs +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorComponentsWeb-CSharp/Data/WeatherForecastService.cs @@ -6,7 +6,7 @@ namespace RazorComponentsWeb_CSharp.Data { public class WeatherForecastService { - private static string[] Summaries = new[] + private static readonly string[] Summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Error.cshtml.cs b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Error.cshtml.cs index dc4b9b8028..302c5ce4a6 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Error.cshtml.cs +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Error.cshtml.cs @@ -16,12 +16,13 @@ namespace Company.WebApplication1.Pages public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); - private readonly ILogger logger; + private readonly ILogger _logger; - public ErrorModel(ILogger _logger) + public ErrorModel(ILogger logger) { - logger = _logger; + _logger = logger; } + public void OnGet() { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier; diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Index.cshtml.cs b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Index.cshtml.cs index 293b9fa78b..6d6d56fe2a 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Index.cshtml.cs +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Index.cshtml.cs @@ -10,12 +10,13 @@ namespace Company.WebApplication1.Pages { public class IndexModel : PageModel { - private readonly ILogger logger; + private readonly ILogger _logger; - public IndexModel(ILogger _logger) + public IndexModel(ILogger logger) { - logger = _logger; + _logger = logger; } + public void OnGet() { diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Privacy.cshtml.cs b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Privacy.cshtml.cs index 6262f55647..9816502ea1 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Privacy.cshtml.cs +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/RazorPagesWeb-CSharp/Pages/Privacy.cshtml.cs @@ -10,12 +10,13 @@ namespace Company.WebApplication1.Pages { public class PrivacyModel : PageModel { - private readonly ILogger logger; + private readonly ILogger _logger; - public PrivacyModel(ILogger _logger) + public PrivacyModel(ILogger logger) { - logger = _logger; + _logger = logger; } + public void OnGet() { } diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/Controllers/HomeController.cs b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/Controllers/HomeController.cs index e90b06bf1f..ff1e748995 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/Controllers/HomeController.cs +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-CSharp/Controllers/HomeController.cs @@ -7,8 +7,8 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; #endif using Microsoft.AspNetCore.Mvc; -using Company.WebApplication1.Models; using Microsoft.Extensions.Logging; +using Company.WebApplication1.Models; namespace Company.WebApplication1.Controllers { @@ -17,12 +17,13 @@ namespace Company.WebApplication1.Controllers #endif public class HomeController : Controller { - private readonly ILogger logger; + private readonly ILogger _logger; - public HomeController(ILogger _logger) + public HomeController(ILogger logger) { - logger = _logger; + _logger = logger; } + public IActionResult Index() { return View(); diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Controllers/HomeController.fs b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Controllers/HomeController.fs index 2ee1330225..8f7da1f178 100644 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Controllers/HomeController.fs +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Controllers/HomeController.fs @@ -7,9 +7,8 @@ open System.Threading.Tasks open Microsoft.AspNetCore.Mvc open Microsoft.Extensions.Logging -type HomeController (_logger : ILogger) = +type HomeController (logger : ILogger) = inherit Controller() - let mutable logger = _logger member this.Index () = this.View() diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/Controllers/WeatherController.cs b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/Controllers/WeatherController.cs deleted file mode 100644 index 05931f13ef..0000000000 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/Controllers/WeatherController.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -#if (!NoAuth) -using Microsoft.AspNetCore.Authorization; -#endif -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Logging; - -namespace Company.WebApplication1.Controllers -{ -#if (!NoAuth) - [Authorize] -#endif - - [Route("api/SampleData/[controller]")] - [ApiController] - public class WeatherController : ControllerBase - { - private readonly ILogger logger; - - public WeatherController(ILogger _logger) - { - logger = _logger; - } - [HttpGet] - public ActionResult GetWeatherForecasts(string location, TemperatureUnit unit) - { - var rng = new Random(); - return new WeatherResult - { - Location = location, - Temperature = rng.Next(-20, 55), - TemperatureUnit = unit - }; - } - } - - public enum TemperatureUnit - { - Celsius, - Fahrenheit - } - public class WeatherResult - { - public int Temperature { get; set; } - public TemperatureUnit TemperatureUnit { get; set; } - public string Location { get; set; } - } -} diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/Controllers/WeatherForecastController.cs b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000000..097eb58460 --- /dev/null +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/Controllers/WeatherForecastController.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +#if (!NoAuth) +using Microsoft.AspNetCore.Authorization; +#endif +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; + +namespace Company.WebApplication1.Controllers +{ +#if (!NoAuth) + [Authorize] +#endif + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet] + public IEnumerable Get() + { + var rng = new Random(); + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateTime.Now.AddDays(index), + TemperatureC = rng.Next(-20, 55), + Summary = Summaries[rng.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/WeatherForecast.cs b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/WeatherForecast.cs new file mode 100644 index 0000000000..128b347369 --- /dev/null +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-CSharp/WeatherForecast.cs @@ -0,0 +1,15 @@ +using System; + +namespace Company.WebApplication1 +{ + public class WeatherForecast + { + public DateTime Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string Summary { get; set; } + } +} diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Controllers/WeatherController.fs b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Controllers/WeatherController.fs deleted file mode 100644 index 4b9629f24a..0000000000 --- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Controllers/WeatherController.fs +++ /dev/null @@ -1,34 +0,0 @@ -namespace WebApplication1.Controllers - -open System -open System.Collections.Generic -open System.Linq -open System.Threading.Tasks -open Microsoft.AspNetCore.Mvc -open Microsoft.Extensions.Logging - -type public TemperatureUnit = - | Celsius=0 - | Fahrenheit=1 - -type WeatherResult = { - Location: string - TemperatureUnit: TemperatureUnit - Temperature: int -} - -[] -[] -type WeatherController (_logger : ILogger) = - inherit ControllerBase() - let mutable logger = _logger - - [] - member this.Get(location:string, unit: TemperatureUnit) = - let rnd = System.Random() - let result:WeatherResult = { - Location = location; - Temperature = rnd.Next(-20,55); - TemperatureUnit = unit - } - ActionResult(result) diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Controllers/WeatherForecastController.fs b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Controllers/WeatherForecastController.fs new file mode 100644 index 0000000000..45c42e8e12 --- /dev/null +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Controllers/WeatherForecastController.fs @@ -0,0 +1,26 @@ +namespace Company.WebApplication1.Controllers + +open System +open System.Collections.Generic +open System.Linq +open System.Threading.Tasks +open Microsoft.AspNetCore.Mvc +open Microsoft.Extensions.Logging +open Company.WebApplication1 + +[] +[] +type WeatherForecastController (logger : ILogger) = + inherit ControllerBase() + + let summaries = [| "Freezing"; "Bracing"; "Chilly"; "Cool"; "Mild"; "Warm"; "Balmy"; "Hot"; "Sweltering"; "Scorching" |] + + [] + member __.Get() : WeatherForecast[] = + let rng = System.Random() + [| + for index in 0..4 -> + { Date = DateTime.Now.AddDays(float index) + TemperatureC = rng.Next(-20,55) + Summary = summaries.[rng.Next(summaries.Length)] } + |] diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/WeatherForecast.fs b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/WeatherForecast.fs new file mode 100644 index 0000000000..34e1d8e301 --- /dev/null +++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/WeatherForecast.fs @@ -0,0 +1,11 @@ +namespace Company.WebApplication1 + +open System + +type WeatherForecast = + { Date: DateTime + TemperatureC: int + Summary: string } + + member this.TemperatureF = + 32 + (int (float this.TemperatureC / 0.5556)) diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/ClientApp/src/app/fetch-data/fetch-data.component.ts b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/ClientApp/src/app/fetch-data/fetch-data.component.ts index c120befb86..992dba2618 100644 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/ClientApp/src/app/fetch-data/fetch-data.component.ts +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/ClientApp/src/app/fetch-data/fetch-data.component.ts @@ -9,7 +9,7 @@ export class FetchDataComponent { public forecasts: WeatherForecast[]; constructor(http: HttpClient, @Inject('BASE_URL') baseUrl: string) { - http.get(baseUrl + 'api/SampleData/WeatherForecasts').subscribe(result => { + http.get(baseUrl + 'weatherforecast').subscribe(result => { this.forecasts = result; }, error => console.error(error)); } diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Controllers/SampleDataController.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Controllers/SampleDataController.cs deleted file mode 100644 index bf4e077dd2..0000000000 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Controllers/SampleDataController.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -#if (IndividualLocalAuth) -using Microsoft.AspNetCore.Authorization; -#endif -using Microsoft.Extensions.Logging; - -namespace Company.WebApplication1.Controllers -{ - #if (IndividualLocalAuth) - [Authorize] - #endif - [Route("api/[controller]")] - public class SampleDataController : Controller - { - private readonly ILogger logger; - - public SampleDataController(ILogger _logger) - { - logger = _logger; - } - private static string[] Summaries = new[] - { - "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" - }; - - [HttpGet("[action]")] - public IEnumerable WeatherForecasts() - { - var rng = new Random(); - return Enumerable.Range(1, 5).Select(index => new WeatherForecast - { - DateFormatted = DateTime.Now.AddDays(index).ToString("d"), - TemperatureC = rng.Next(-20, 55), - Summary = Summaries[rng.Next(Summaries.Length)] - }); - } - - public class WeatherForecast - { - public string DateFormatted { get; set; } - public int TemperatureC { get; set; } - public string Summary { get; set; } - - public int TemperatureF - { - get - { - return 32 + (int)(TemperatureC / 0.5556); - } - } - } - } -} diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Controllers/WeatherForecastController.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000000..097eb58460 --- /dev/null +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Controllers/WeatherForecastController.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +#if (!NoAuth) +using Microsoft.AspNetCore.Authorization; +#endif +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; + +namespace Company.WebApplication1.Controllers +{ +#if (!NoAuth) + [Authorize] +#endif + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet] + public IEnumerable Get() + { + var rng = new Random(); + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateTime.Now.AddDays(index), + TemperatureC = rng.Next(-20, 55), + Summary = Summaries[rng.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Pages/Error.cshtml.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Pages/Error.cshtml.cs index 0b31293ed8..b31bc6addd 100644 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Pages/Error.cshtml.cs +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/Pages/Error.cshtml.cs @@ -12,12 +12,13 @@ namespace Company.WebApplication1.Pages [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] public class ErrorModel : PageModel { - private readonly ILogger logger; + private readonly ILogger _logger; - public ErrorModel(ILogger _logger) + public ErrorModel(ILogger logger) { - logger = _logger; + _logger = logger; } + public string RequestId { get; set; } public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/WeatherForecast.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/WeatherForecast.cs new file mode 100644 index 0000000000..128b347369 --- /dev/null +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/Angular-CSharp/WeatherForecast.cs @@ -0,0 +1,15 @@ +using System; + +namespace Company.WebApplication1 +{ + public class WeatherForecast + { + public DateTime Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string Summary { get; set; } + } +} diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/ClientApp/src/components/FetchData.js b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/ClientApp/src/components/FetchData.js index be9cbe4ede..3e3a1f3c21 100644 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/ClientApp/src/components/FetchData.js +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/ClientApp/src/components/FetchData.js @@ -57,13 +57,13 @@ export class FetchData extends Component { async populateWeatherData() { ////#if (IndividualLocalAuth) const token = await authService.getAccessToken(); - const response = await fetch('api/SampleData/WeatherForecasts', { + const response = await fetch('weatherforecast', { headers: !token ? {} : { 'Authorization': `Bearer ${token}` } }); const data = await response.json(); this.setState({ forecasts: data, loading: false }); ////#else - const response = await fetch('api/SampleData/WeatherForecasts'); + const response = await fetch('weatherforecast'); const data = await response.json(); this.setState({ forecasts: data, loading: false }); ////#endif diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Controllers/OidcConfigurationController.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Controllers/OidcConfigurationController.cs index 75e26da4e9..cdcc89182a 100644 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Controllers/OidcConfigurationController.cs +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Controllers/OidcConfigurationController.cs @@ -6,12 +6,12 @@ namespace Company.WebApplication1.Controllers { public class OidcConfigurationController : Controller { - private readonly ILogger logger; + private readonly ILogger _logger; - public OidcConfigurationController(IClientRequestParametersProvider clientRequestParametersProvider, ILogger _logger) + public OidcConfigurationController(IClientRequestParametersProvider clientRequestParametersProvider, ILogger logger) { ClientRequestParametersProvider = clientRequestParametersProvider; - logger = _logger; + _logger = logger; } public IClientRequestParametersProvider ClientRequestParametersProvider { get; } diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Controllers/SampleDataController.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Controllers/SampleDataController.cs deleted file mode 100644 index a4f2e22d56..0000000000 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Controllers/SampleDataController.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -#if (IndividualLocalAuth) -using Microsoft.AspNetCore.Authorization; -#endif -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Logging; - -namespace Company.WebApplication1.Controllers -{ -#if (IndividualLocalAuth) - [Authorize] -#endif - [Route("api/[controller]")] - public class SampleDataController : Controller - { - private readonly ILogger logger; - - public SampleDataController(ILogger _logger) - { - logger = _logger; - } - private static string[] Summaries = new[] - { - "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" - }; - - [HttpGet("[action]")] - public IEnumerable WeatherForecasts() - { - var rng = new Random(); - return Enumerable.Range(1, 5).Select(index => new WeatherForecast - { - DateFormatted = DateTime.Now.AddDays(index).ToString("d"), - TemperatureC = rng.Next(-20, 55), - Summary = Summaries[rng.Next(Summaries.Length)] - }); - } - - public class WeatherForecast - { - public string DateFormatted { get; set; } - public int TemperatureC { get; set; } - public string Summary { get; set; } - - public int TemperatureF - { - get - { - return 32 + (int)(TemperatureC / 0.5556); - } - } - } - } -} diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Controllers/WeatherForecastController.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000000..097eb58460 --- /dev/null +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Controllers/WeatherForecastController.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +#if (!NoAuth) +using Microsoft.AspNetCore.Authorization; +#endif +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; + +namespace Company.WebApplication1.Controllers +{ +#if (!NoAuth) + [Authorize] +#endif + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet] + public IEnumerable Get() + { + var rng = new Random(); + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateTime.Now.AddDays(index), + TemperatureC = rng.Next(-20, 55), + Summary = Summaries[rng.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Pages/Error.cshtml.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Pages/Error.cshtml.cs index 0b31293ed8..b31bc6addd 100644 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Pages/Error.cshtml.cs +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/Pages/Error.cshtml.cs @@ -12,12 +12,13 @@ namespace Company.WebApplication1.Pages [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)] public class ErrorModel : PageModel { - private readonly ILogger logger; + private readonly ILogger _logger; - public ErrorModel(ILogger _logger) + public ErrorModel(ILogger logger) { - logger = _logger; + _logger = logger; } + public string RequestId { get; set; } public bool ShowRequestId => !string.IsNullOrEmpty(RequestId); diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/WeatherForecast.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/WeatherForecast.cs new file mode 100644 index 0000000000..128b347369 --- /dev/null +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/React-CSharp/WeatherForecast.cs @@ -0,0 +1,15 @@ +using System; + +namespace Company.WebApplication1 +{ + public class WeatherForecast + { + public DateTime Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string Summary { get; set; } + } +} diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/ClientApp/src/store/WeatherForecasts.ts b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/ClientApp/src/store/WeatherForecasts.ts index e43f996075..97e53ff86f 100644 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/ClientApp/src/store/WeatherForecasts.ts +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/ClientApp/src/store/WeatherForecasts.ts @@ -45,7 +45,7 @@ export const actionCreators = { // Only load data if it's something we don't already have (and are not already loading) const appState = getState(); if (appState && appState.weatherForecasts && startDateIndex !== appState.weatherForecasts.startDateIndex) { - fetch(`api/SampleData/WeatherForecasts?startDateIndex=${startDateIndex}`) + fetch(`weatherforecast`) .then(response => response.json() as Promise) .then(data => { dispatch({ type: 'RECEIVE_WEATHER_FORECASTS', startDateIndex: startDateIndex, forecasts: data }); diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/Controllers/SampleDataController.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/Controllers/SampleDataController.cs deleted file mode 100644 index 3b182badaf..0000000000 --- a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/Controllers/SampleDataController.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using Microsoft.AspNetCore.Mvc; -using Microsoft.Extensions.Logging; - -namespace Company.WebApplication1.Controllers -{ - [Route("api/[controller]")] - public class SampleDataController : Controller - { - private readonly ILogger logger; - - public SampleDataController(ILogger _logger) - { - logger = _logger; - } - private static string[] Summaries = new[] - { - "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" - }; - - [HttpGet("[action]")] - public IEnumerable WeatherForecasts(int startDateIndex) - { - var rng = new Random(); - return Enumerable.Range(1, 5).Select(index => new WeatherForecast - { - DateFormatted = DateTime.Now.AddDays(index + startDateIndex).ToString("d"), - TemperatureC = rng.Next(-20, 55), - Summary = Summaries[rng.Next(Summaries.Length)] - }); - } - - public class WeatherForecast - { - public string DateFormatted { get; set; } - public int TemperatureC { get; set; } - public string Summary { get; set; } - - public int TemperatureF - { - get - { - return 32 + (int)(TemperatureC / 0.5556); - } - } - } - } -} diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/Controllers/WeatherForecastController.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/Controllers/WeatherForecastController.cs new file mode 100644 index 0000000000..097eb58460 --- /dev/null +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/Controllers/WeatherForecastController.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +#if (!NoAuth) +using Microsoft.AspNetCore.Authorization; +#endif +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; + +namespace Company.WebApplication1.Controllers +{ +#if (!NoAuth) + [Authorize] +#endif + [ApiController] + [Route("[controller]")] + public class WeatherForecastController : ControllerBase + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + private readonly ILogger _logger; + + public WeatherForecastController(ILogger logger) + { + _logger = logger; + } + + [HttpGet] + public IEnumerable Get() + { + var rng = new Random(); + return Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = DateTime.Now.AddDays(index), + TemperatureC = rng.Next(-20, 55), + Summary = Summaries[rng.Next(Summaries.Length)] + }) + .ToArray(); + } + } +} diff --git a/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/WeatherForecast.cs b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/WeatherForecast.cs new file mode 100644 index 0000000000..128b347369 --- /dev/null +++ b/src/ProjectTemplates/Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/WeatherForecast.cs @@ -0,0 +1,15 @@ +using System; + +namespace Company.WebApplication1 +{ + public class WeatherForecast + { + public DateTime Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string Summary { get; set; } + } +} diff --git a/src/ProjectTemplates/test/WebApiTemplateTest.cs b/src/ProjectTemplates/test/WebApiTemplateTest.cs index 5f21ac7b2c..4a761a4214 100644 --- a/src/ProjectTemplates/test/WebApiTemplateTest.cs +++ b/src/ProjectTemplates/test/WebApiTemplateTest.cs @@ -48,7 +48,7 @@ namespace Templates.Test aspNetProcess.Process.HasExited, ErrorMessages.GetFailedProcessMessageOrEmpty("Run built project", Project, aspNetProcess.Process)); - await aspNetProcess.AssertOk("/api/SampleData/Weather"); + await aspNetProcess.AssertOk("weatherforecast"); await aspNetProcess.AssertNotFound("/"); } @@ -59,7 +59,7 @@ namespace Templates.Test ErrorMessages.GetFailedProcessMessageOrEmpty("Run published project", Project, aspNetProcess.Process)); - await aspNetProcess.AssertOk("/api/SampleData/Weather"); + await aspNetProcess.AssertOk("weatherforecast"); await aspNetProcess.AssertNotFound("/"); } } diff --git a/src/ProjectTemplates/test/template-baselines.json b/src/ProjectTemplates/test/template-baselines.json index 565cbecd16..5d610cc2f5 100644 --- a/src/ProjectTemplates/test/template-baselines.json +++ b/src/ProjectTemplates/test/template-baselines.json @@ -398,7 +398,8 @@ "appsettings.json", "Program.cs", "Startup.cs", - "Controllers/WeatherController.cs", + "WeatherForecast.cs", + "Controllers/WeatherForecastController.cs", "Properties/launchSettings.json" ], "AuthOption": "IndividualB2C" @@ -411,7 +412,8 @@ "appsettings.json", "Program.cs", "Startup.cs", - "Controllers/WeatherController.cs", + "WeatherForecast.cs", + "Controllers/WeatherForecastController.cs", "Properties/launchSettings.json" ], "AuthOption": "SingleOrg" @@ -424,7 +426,8 @@ "appsettings.json", "Program.cs", "Startup.cs", - "Controllers/WeatherController.cs", + "WeatherForecast.cs", + "Controllers/WeatherForecastController.cs", "Properties/launchSettings.json" ], "AuthOption": "None" @@ -437,7 +440,8 @@ "appsettings.json", "Program.cs", "Startup.cs", - "Controllers/WeatherController.cs", + "WeatherForecast.cs", + "Controllers/WeatherForecastController.cs", "Properties/launchSettings.json" ], "AuthOption": "Windows" @@ -450,7 +454,8 @@ "appsettings.json", "Program.fs", "Startup.fs", - "Controllers/WeatherController.fs", + "WeatherForecast.fs", + "Controllers/WeatherForecastController.fs", "Properties/launchSettings.json" ] } @@ -1157,7 +1162,8 @@ "ClientApp/README.md", "ClientApp/tsconfig.json", "ClientApp/tslint.json", - "Controllers/SampleDataController.cs", + "WeatherForecast.cs", + "Controllers/WeatherForecastController.cs", "Pages/_ViewImports.cshtml", "Pages/Error.cshtml", "Pages/Error.cshtml.cs", @@ -1194,7 +1200,8 @@ "ClientApp/package-lock.json", "ClientApp/package.json", "ClientApp/README.md", - "Controllers/SampleDataController.cs", + "WeatherForecast.cs", + "Controllers/WeatherForecastController.cs", "Pages/_ViewImports.cshtml", "Pages/Error.cshtml", "Pages/Error.cshtml.cs", @@ -1236,7 +1243,8 @@ "ClientApp/package.json", "ClientApp/README.md", "ClientApp/tsconfig.json", - "Controllers/SampleDataController.cs", + "WeatherForecast.cs", + "Controllers/WeatherForecastController.cs", "Pages/_ViewImports.cshtml", "Pages/Error.cshtml", "Pages/Error.cshtml.cs",