Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

blazor-crud scaffolder minor fixes #2938

Merged
merged 4 commits into from
Aug 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ namespace Microsoft.VisualStudio.Web.CodeGenerators.Mvc.Blazor
public class BlazorIdentityCommandLineModel
{

[Option(Name = "rootNamespace", ShortName = "rn", Description = "Root namesapce to use for generating identity code.")]
[Option(Name = "rootNamespace", ShortName = "rn", Description = "Root namespace to use for generating identity code.")]
public string RootNamespace { get; set; }

[Option(Name = "relativeFolderPath", ShortName = "outDir", Description = "Specify the relative output folder path from project where the file needs to be generated, if not specified, file will be generated in the path based on the root namespace.")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ namespace Microsoft.VisualStudio.Web.CodeGenerators.Mvc.Identity
{
public class IdentityGeneratorCommandLineModel
{
[Option(Name = "rootNamespace", ShortName = "rn", Description = "Root namesapce to use for generating identity code.")]
[Option(Name = "rootNamespace", ShortName = "rn", Description = "Root namespace to use for generating identity code.")]
public string RootNamespace { get; set; }

[Option(Name = "databaseProvider", ShortName = "dbProvider", Description = "Database provider to use. Options include 'sqlserver' (default), 'sqlite', 'cosmos', 'postgres'.")]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
{
"Name": "rootNamespace",
"ShortName": "rn",
"Description": "Root namesapce to use for generating identity code."
"Description": "Root namespace to use for generating identity code."
},
{
"Name": "files",
Expand Down
13 changes: 7 additions & 6 deletions src/Scaffolding/VS.Web.CG.Mvc/Templates/Blazor/Create.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public virtual string TransformText()

this.Write("@page \"/");
this.Write(this.ToStringHelper.ToStringWithCulture(pluralModelLowerInv));
this.Write("/create\"\r\n\r\n@using Microsoft.EntityFrameworkCore\r\n");
this.Write("/create\"\r\n@using Microsoft.EntityFrameworkCore\r\n");

if (!string.IsNullOrEmpty(modelNamespace))
{
Expand All @@ -51,9 +51,9 @@ public virtual string TransformText()
this.Write("@inject ");
this.Write(this.ToStringHelper.ToStringWithCulture(dbContextFactory));
this.Write("\r\n@inject NavigationManager NavigationManager\r\n\r\n<PageTitle>Create</PageTitle>\r\n\r" +
"\n<h1>Create</h1>\r\n\r\n<h4>");
"\n<h1>Create</h1>\r\n\r\n<h2>");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write("</h4>\r\n<hr />\r\n<div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <EditForm m" +
this.Write("</h2>\r\n<hr />\r\n<div class=\"row\">\r\n <div class=\"col-md-4\">\r\n <EditForm m" +
"ethod=\"post\" Model=\"");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write("\" OnValidSubmit=\"Add");
Expand Down Expand Up @@ -92,13 +92,14 @@ public virtual string TransformText()
this.Write("<button type=\"submit\" class=\"btn btn-primary\">Create</button>\r\n </EditForm" +
">\r\n </div>\r\n</div>\r\n\r\n<div>\r\n <a href=\"/");
this.Write(this.ToStringHelper.ToStringWithCulture(pluralModelLowerInv));
this.Write("\">Back to List</a>\r\n</div>\r\n\r\n@code {\r\n\r\n [SupplyParameterFromForm]\r\n publi" +
"c ");
this.Write("\">Back to List</a>\r\n</div>\r\n\r\n@code {\r\n [SupplyParameterFromForm]\r\n private" +
" ");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write(" ");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write(" { get; set; } = new();\r\n\r\n // To protect from overposting attacks, see https:" +
"//aka.ms/RazorPagesCRUD\r\n public async Task Add");
"//learn.microsoft.com/aspnet/core/blazor/forms/#mitigate-overposting-attacks.\r\n " +
" private async Task Add");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write("()\r\n {\r\n using var context = DbFactory.CreateDbContext();\r\n cont" +
"ext.");
Expand Down
10 changes: 4 additions & 6 deletions src/Scaffolding/VS.Web.CG.Mvc/Templates/Blazor/Create.tt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
var entityProperties = Model.ModelMetadata.Properties.Where(x => !x.IsPrimaryKey).ToList();
#>
@page "/<#= pluralModelLowerInv #>/create"

@using Microsoft.EntityFrameworkCore
<#
if (!string.IsNullOrEmpty(modelNamespace))
Expand All @@ -30,7 +29,7 @@

<h1>Create</h1>

<h4><#= modelName #></h4>
<h2><#= modelName #></h2>
<hr />
<div class="row">
<div class="col-md-4">
Expand Down Expand Up @@ -62,12 +61,11 @@
</div>

@code {

[SupplyParameterFromForm]
public <#= modelName #> <#= modelName #> { get; set; } = new();
private <#= modelName #> <#= modelName #> { get; set; } = new();

// To protect from overposting attacks, see https://aka.ms/RazorPagesCRUD
public async Task Add<#= modelName #>()
// To protect from overposting attacks, see https://learn.microsoft.com/aspnet/core/blazor/forms/#mitigate-overposting-attacks.
private async Task Add<#= modelName #>()
{
using var context = DbFactory.CreateDbContext();
context.<#= Model.ModelMetadata.EntitySetName #>.Add(<#= modelName #>);
Expand Down
16 changes: 8 additions & 8 deletions src/Scaffolding/VS.Web.CG.Mvc/Templates/Blazor/Delete.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public virtual string TransformText()

this.Write("@page \"/");
this.Write(this.ToStringHelper.ToStringWithCulture(pluralModelLowerInv));
this.Write("/delete\"\r\n\r\n@using Microsoft.EntityFrameworkCore\r\n");
this.Write("/delete\"\r\n@using Microsoft.EntityFrameworkCore\r\n");

if (!string.IsNullOrEmpty(modelNamespace))
{
Expand All @@ -54,11 +54,11 @@ public virtual string TransformText()

this.Write("@inject ");
this.Write(this.ToStringHelper.ToStringWithCulture(dbContextFactory));
this.Write("\r\n@inject NavigationManager NavigationManager\r\n\r\n\r\n<PageTitle>Delete</PageTitle>\r" +
"\n\r\n<h1>Delete</h1>\r\n\r\n<h3>Are you sure you want to delete this?</h3>\r\n<div>\r\n " +
" <h4>");
this.Write("\r\n@inject NavigationManager NavigationManager\r\n\r\n<PageTitle>Delete</PageTitle>\r\n\r" +
"\n<h1>Delete</h1>\r\n\r\n<p>Are you sure you want to delete this?</p>\r\n<div>\r\n <h2" +
">");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write("</h4>\r\n <hr />\r\n @if (");
this.Write("</h2>\r\n <hr />\r\n @if (");
this.Write(this.ToStringHelper.ToStringWithCulture(modelNameLowerInv));
this.Write(" is null)\r\n {\r\n <p><em>Loading...</em></p>\r\n }\r\n else {\r\n");

Expand All @@ -83,11 +83,11 @@ public virtual string TransformText()
this.Write(this.ToStringHelper.ToStringWithCulture(modelNameLowerInv));
this.Write(" is null)\">Delete</button> |\r\n <a href=\"/");
this.Write(this.ToStringHelper.ToStringWithCulture(pluralModelLowerInv));
this.Write("\">Back to List</a>\r\n </EditForm>\r\n }\r\n</div>\r\n\r\n@code {\r\n ");
this.Write("\">Back to List</a>\r\n </EditForm>\r\n }\r\n</div>\r\n\r\n@code {\r\n private ");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write("? ");
this.Write(this.ToStringHelper.ToStringWithCulture(modelNameLowerInv));
this.Write(";\r\n\r\n [SupplyParameterFromQuery]\r\n public ");
this.Write(";\r\n\r\n [SupplyParameterFromQuery]\r\n private ");
this.Write(this.ToStringHelper.ToStringWithCulture(primaryKeyShortTypeName));
this.Write(" ");
this.Write(this.ToStringHelper.ToStringWithCulture(primaryKeyName));
Expand All @@ -103,7 +103,7 @@ public virtual string TransformText()
this.Write(");\r\n\r\n if (");
this.Write(this.ToStringHelper.ToStringWithCulture(modelNameLowerInv));
this.Write(" is null)\r\n {\r\n NavigationManager.NavigateTo(\"notfound\");\r\n " +
" }\r\n }\r\n\r\n public async Task Delete");
" }\r\n }\r\n\r\n private async Task Delete");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write("()\r\n {\r\n using var context = DbFactory.CreateDbContext();\r\n cont" +
"ext.");
Expand Down
12 changes: 5 additions & 7 deletions src/Scaffolding/VS.Web.CG.Mvc/Templates/Blazor/Delete.tt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
var entityProperties = Model.ModelMetadata.Properties.Where(x => !x.IsPrimaryKey).ToList();
#>
@page "/<#= pluralModelLowerInv #>/delete"

@using Microsoft.EntityFrameworkCore
<#
if (!string.IsNullOrEmpty(modelNamespace))
Expand All @@ -30,14 +29,13 @@
@inject <#= dbContextFactory #>
@inject NavigationManager NavigationManager


<PageTitle>Delete</PageTitle>

<h1>Delete</h1>

<h3>Are you sure you want to delete this?</h3>
<p>Are you sure you want to delete this?</p>
<div>
<h4><#= modelName #></h4>
<h2><#= modelName #></h2>
<hr />
@if (<#= modelNameLowerInv #> is null)
{
Expand All @@ -62,10 +60,10 @@
</div>

@code {
<#= modelName #>? <#= modelNameLowerInv #>;
private <#= modelName #>? <#= modelNameLowerInv #>;

[SupplyParameterFromQuery]
public <#= primaryKeyShortTypeName #> <#= primaryKeyName #> { get; set; }
private <#= primaryKeyShortTypeName #> <#= primaryKeyName #> { get; set; }
deepchoudhery marked this conversation as resolved.
Show resolved Hide resolved

protected override async Task OnInitializedAsync()
{
Expand All @@ -78,7 +76,7 @@
}
}

public async Task Delete<#= modelName #>()
private async Task Delete<#= modelName #>()
{
using var context = DbFactory.CreateDbContext();
context.<#= entitySetName #>.Remove(<#= modelNameLowerInv #>!);
Expand Down
10 changes: 5 additions & 5 deletions src/Scaffolding/VS.Web.CG.Mvc/Templates/Blazor/Details.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public virtual string TransformText()

this.Write("@page \"/");
this.Write(this.ToStringHelper.ToStringWithCulture(pluralModelLowerInv));
this.Write("/details\"\r\n\r\n@using Microsoft.EntityFrameworkCore\r\n");
this.Write("/details\"\r\n@using Microsoft.EntityFrameworkCore\r\n");

if (!string.IsNullOrEmpty(modelNamespace))
{
Expand All @@ -55,9 +55,9 @@ public virtual string TransformText()
this.Write("@inject ");
this.Write(this.ToStringHelper.ToStringWithCulture(dbContextFactory));
this.Write("\r\n@inject NavigationManager NavigationManager\r\n\r\n<PageTitle>Details</PageTitle>\r\n" +
"\r\n<h1>Details</h1>\r\n\r\n<div>\r\n <h4>");
"\r\n<h1>Details</h1>\r\n\r\n<div>\r\n <h2>");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write("</h4>\r\n <hr />\r\n @if (");
this.Write("</h2>\r\n <hr />\r\n @if (");
this.Write(this.ToStringHelper.ToStringWithCulture(modelNameLowerInv));
this.Write(" is null)\r\n {\r\n <p><em>Loading...</em></p>\r\n }\r\n else {\r\n " +
"<dl class=\"row\">\r\n");
Expand All @@ -83,11 +83,11 @@ public virtual string TransformText()
this.Write(this.ToStringHelper.ToStringWithCulture(primaryKeyName));
this.Write("}\")\">Edit</a> |\r\n <a href=\"@($\"/");
this.Write(this.ToStringHelper.ToStringWithCulture(pluralModelLowerInv));
this.Write("\")\">Back to List</a>\r\n </div>\r\n }\r\n</div>\r\n\r\n@code {\r\n ");
this.Write("\")\">Back to List</a>\r\n </div>\r\n }\r\n</div>\r\n\r\n@code {\r\n private ");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write("? ");
this.Write(this.ToStringHelper.ToStringWithCulture(modelNameLowerInv));
this.Write(";\r\n\r\n [SupplyParameterFromQuery]\r\n public ");
this.Write(";\r\n\r\n [SupplyParameterFromQuery]\r\n private ");
this.Write(this.ToStringHelper.ToStringWithCulture(primaryKeyShortTypeName));
this.Write(" ");
this.Write(this.ToStringHelper.ToStringWithCulture(primaryKeyName));
Expand Down
7 changes: 3 additions & 4 deletions src/Scaffolding/VS.Web.CG.Mvc/Templates/Blazor/Details.tt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
var entityProperties = Model.ModelMetadata.Properties.Where(x => !x.IsPrimaryKey).ToList();
#>
@page "/<#= pluralModelLowerInv #>/details"

@using Microsoft.EntityFrameworkCore
<#
if (!string.IsNullOrEmpty(modelNamespace))
Expand All @@ -35,7 +34,7 @@
<h1>Details</h1>

<div>
<h4><#= modelName #></h4>
<h2><#= modelName #></h2>
<hr />
@if (<#= modelNameLowerInv #> is null)
{
Expand All @@ -59,10 +58,10 @@
</div>

@code {
<#= modelName #>? <#= modelNameLowerInv #>;
private <#= modelName #>? <#= modelNameLowerInv #>;

[SupplyParameterFromQuery]
public <#= primaryKeyShortTypeName #> <#= primaryKeyName #> { get; set; }
private <#= primaryKeyShortTypeName #> <#= primaryKeyName #> { get; set; }

protected override async Task OnInitializedAsync()
{
Expand Down
20 changes: 10 additions & 10 deletions src/Scaffolding/VS.Web.CG.Mvc/Templates/Blazor/Edit.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,8 @@ public virtual string TransformText()
var entityProperties = Model.ModelMetadata.Properties.Where(x => !x.IsPrimaryKey).ToList();

this.Write("@page \"/");
this.Write(this.ToStringHelper.ToStringWithCulture(pluralModel));
this.Write("/edit\"\r\n\r\n@using Microsoft.EntityFrameworkCore\r\n");
this.Write(this.ToStringHelper.ToStringWithCulture(pluralModelLowerInv));
this.Write("/edit\"\r\n@using Microsoft.EntityFrameworkCore\r\n");

if (!string.IsNullOrEmpty(modelNamespace))
{
Expand All @@ -55,9 +55,9 @@ public virtual string TransformText()
this.Write("@inject ");
this.Write(this.ToStringHelper.ToStringWithCulture(dbContextFactory));
this.Write("\r\n@inject NavigationManager NavigationManager\r\n\r\n<PageTitle>Edit</PageTitle>\r\n\r\n<" +
"h1>Edit</h1>\r\n\r\n<h4>");
"h1>Edit</h1>\r\n\r\n<h2>");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write("</h4>\r\n<hr />\r\n@if (");
this.Write("</h2>\r\n<hr />\r\n@if (");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write(" is null)\r\n{\r\n <p><em>Loading...</em></p>\r\n}\r\nelse\r\n{\r\n <div class=\"row\">\r\n" +
" <div class=\"col-md-4\">\r\n <EditForm method=\"post\" Model=\"");
Expand Down Expand Up @@ -106,12 +106,12 @@ public virtual string TransformText()
this.Write(" <button type=\"submit\" class=\"btn btn-primary\">Save</button>\r\n " +
" </EditForm>\r\n </div>\r\n </div>\r\n}\r\n\r\n<div>\r\n <a href=\"/");
this.Write(this.ToStringHelper.ToStringWithCulture(pluralModelLowerInv));
this.Write("\">Back to List</a>\r\n</div>\r\n\r\n@code {\r\n [SupplyParameterFromQuery]\r\n public" +
" ");
this.Write("\">Back to List</a>\r\n</div>\r\n\r\n@code {\r\n [SupplyParameterFromQuery]\r\n privat" +
"e ");
this.Write(this.ToStringHelper.ToStringWithCulture(primaryKeyShortTypeName));
this.Write(" ");
this.Write(this.ToStringHelper.ToStringWithCulture(primaryKeyName));
this.Write(" { get; set; }\r\n\r\n [SupplyParameterFromForm]\r\n public ");
this.Write(" { get; set; }\r\n\r\n [SupplyParameterFromForm]\r\n private ");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write("? ");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
Expand All @@ -133,8 +133,8 @@ public virtual string TransformText()
}

// To protect from overposting attacks, enable the specific properties you want to bind to.
// For more details, see https://aka.ms/RazorPagesCRUD.
public async Task Update");
// For more information, see https://learn.microsoft.com/aspnet/core/blazor/forms/#mitigate-overposting-attacks.
private async Task Update");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write("()\r\n {\r\n using var context = DbFactory.CreateDbContext();\r\n cont" +
"ext.Attach(");
Expand All @@ -151,7 +151,7 @@ public virtual string TransformText()
" }\r\n else\r\n {\r\n throw;\r\n " +
" }\r\n }\r\n\r\n NavigationManager.NavigateTo(\"/");
this.Write(this.ToStringHelper.ToStringWithCulture(pluralModelLowerInv));
this.Write("\");\r\n }\r\n\r\n bool ");
this.Write("\");\r\n }\r\n\r\n private bool ");
this.Write(this.ToStringHelper.ToStringWithCulture(modelName));
this.Write("Exists(");
this.Write(this.ToStringHelper.ToStringWithCulture(primaryKeyShortTypeName));
Expand Down
15 changes: 7 additions & 8 deletions src/Scaffolding/VS.Web.CG.Mvc/Templates/Blazor/Edit.tt
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@
string entitySetName = Model.ModelMetadata.EntitySetName;
var entityProperties = Model.ModelMetadata.Properties.Where(x => !x.IsPrimaryKey).ToList();
#>
@page "/<#= pluralModel #>/edit"

@page "/<#= pluralModelLowerInv #>/edit"
@using Microsoft.EntityFrameworkCore
<#
if (!string.IsNullOrEmpty(modelNamespace))
Expand All @@ -34,7 +33,7 @@

<h1>Edit</h1>

<h4><#= modelName #></h4>
<h2><#= modelName #></h2>
<hr />
@if (<#= modelName #> is null)
{
Expand Down Expand Up @@ -75,10 +74,10 @@ else

@code {
[SupplyParameterFromQuery]
public <#= primaryKeyShortTypeName #> <#= primaryKeyName #> { get; set; }
private <#= primaryKeyShortTypeName #> <#= primaryKeyName #> { get; set; }

[SupplyParameterFromForm]
public <#= modelName #>? <#= modelName #> { get; set; }
private <#= modelName #>? <#= modelName #> { get; set; }

protected override async Task OnInitializedAsync()
{
Expand All @@ -92,8 +91,8 @@ else
}

// To protect from overposting attacks, enable the specific properties you want to bind to.
// For more details, see https://aka.ms/RazorPagesCRUD.
public async Task Update<#= modelName #>()
// For more information, see https://learn.microsoft.com/aspnet/core/blazor/forms/#mitigate-overposting-attacks.
private async Task Update<#= modelName #>()
{
using var context = DbFactory.CreateDbContext();
context.Attach(<#= modelName #>!).State = EntityState.Modified;
Expand All @@ -117,7 +116,7 @@ else
NavigationManager.NavigateTo("/<#= pluralModelLowerInv #>");
}

bool <#= modelName #>Exists(<#= primaryKeyShortTypeName #> <#= primaryKeyNameLowerInv #>)
private bool <#= modelName #>Exists(<#= primaryKeyShortTypeName #> <#= primaryKeyNameLowerInv #>)
{
using var context = DbFactory.CreateDbContext();
return context.<#= entitySetName #>.Any(e => e.<#= primaryKeyName #> == <#= primaryKeyNameLowerInv #>);
Expand Down
Loading