Add alias and display name to people.

This commit is contained in:
2019-06-30 21:42:34 +01:00
parent e40de9facd
commit 72bcb54032
11 changed files with 8336 additions and 15 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,29 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace Cicm.Database.Migrations
{
public partial class AddDisplayNameAndAliasToPerson : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>("Alias", "People", nullable: true);
migrationBuilder.AddColumn<string>("DisplayName", "People", nullable: true);
migrationBuilder.CreateIndex("IX_People_Alias", "People", "Alias");
migrationBuilder.CreateIndex("IX_People_DisplayName", "People", "DisplayName");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropIndex("IX_People_Alias", "People");
migrationBuilder.DropIndex("IX_People_DisplayName", "People");
migrationBuilder.DropColumn("Alias", "People");
migrationBuilder.DropColumn("DisplayName", "People");
}
}
}

View File

@@ -4958,12 +4958,16 @@ namespace Cicm.Database.Migrations
{
b.Property<int>("Id").ValueGeneratedOnAdd();
b.Property<string>("Alias");
b.Property<DateTime>("BirthDate");
b.Property<short?>("CountryOfBirthId");
b.Property<DateTime?>("DeathDate");
b.Property<string>("DisplayName");
b.Property<int?>("DocumentPersonId");
b.Property<string>("Facebook");
@@ -4980,12 +4984,16 @@ namespace Cicm.Database.Migrations
b.HasKey("Id");
b.HasIndex("Alias");
b.HasIndex("BirthDate");
b.HasIndex("CountryOfBirthId");
b.HasIndex("DeathDate");
b.HasIndex("DisplayName");
b.HasIndex("Facebook");
b.HasIndex("Name");

View File

@@ -28,10 +28,13 @@ namespace Cicm.Database.Models
public string Facebook { get; set; }
public Guid Photo { get; set; }
public int? DocumentPersonId { get; set; }
public string Alias { get; set; }
[DisplayName("Name to be displayed")]
public string DisplayName { get; set; }
[NotMapped]
[DisplayName("Name")]
public string FullName => $"{Name} {Surname}";
public string FullName => DisplayName ?? Alias ?? $"{Name} {Surname}";
public short? CountryOfBirthId { get; set; }
public virtual ICollection<PeopleByCompany> Companies { get; set; }

View File

@@ -1076,6 +1076,10 @@ namespace Cicm.Database.Models
entity.HasIndex(e => e.Photo);
entity.HasIndex(e => e.Alias);
entity.HasIndex(e => e.DisplayName);
entity.HasOne(d => d.CountryOfBirth).WithMany(p => p.People).HasForeignKey(d => d.CountryOfBirthId);
entity.HasOne(d => d.DocumentPerson).WithOne(p => p.Person)

View File

@@ -51,7 +51,8 @@ namespace cicm_web.Areas.Admin.Controllers
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create(
[Bind("Name,Surname,BirthDate,DeathDate,Webpage,Twitter,Facebook,Photo,CountryOfBirthId,Id")]
[Bind(
"Name,Surname,BirthDate,DeathDate,Webpage,Twitter,Facebook,Photo,CountryOfBirthId,Id,Alias,DisplayName")]
Person person)
{
if(ModelState.IsValid)
@@ -85,7 +86,8 @@ namespace cicm_web.Areas.Admin.Controllers
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Edit(
int id, [Bind("Name,Surname,BirthDate,DeathDate,Webpage,Twitter,Facebook,Photo,CountryOfBirthId,Id")]
int id, [Bind(
"Name,Surname,BirthDate,DeathDate,Webpage,Twitter,Facebook,Photo,CountryOfBirthId,Id,Alias,DisplayName")]
Person person)
{
if(id != person.Id) return NotFound();

View File

@@ -24,6 +24,26 @@
class="text-danger">
</span>
</div>
<div class="form-group">
<label asp-for="Alias"
class="control-label">
</label>
<input asp-for="Alias"
class="form-control" />
<span asp-validation-for="Alias"
class="text-danger">
</span>
</div>
<div class="form-group">
<label asp-for="DisplayName"
class="control-label">
</label>
<input asp-for="DisplayName"
class="form-control" />
<span asp-validation-for="DisplayName"
class="text-danger">
</span>
</div>
<div class="form-group">
<label asp-for="Surname"
class="control-label">
@@ -97,7 +117,10 @@
<input class="btn btn-primary"
type="submit"
value="Create" />
<a asp-action="Index" class="btn btn-secondary">Back to List</a>
<a asp-action="Index"
class="btn btn-secondary">
Back to List
</a>
</div>
</form>
</div>

View File

@@ -23,6 +23,18 @@
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Surname)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Alias)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Alias)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.DisplayName)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.DisplayName)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.CountryOfBirth)
</dt>
@@ -66,10 +78,16 @@
}
</dd>
</dl>
<form asp-action="Delete">
<input type="hidden" asp-for="Id" />
<input type="submit" value="Delete" class="btn btn-danger" />
<a asp-action="Index" class="btn btn-secondary">Back to List</a>
<input type="hidden"
asp-for="Id" />
<input class="btn btn-danger"
type="submit"
value="Delete" />
<a asp-action="Index"
class="btn btn-secondary">
Back to List
</a>
</form>
</div>
</div>

View File

@@ -22,6 +22,18 @@
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Surname)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.Alias)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.Alias)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.DisplayName)
</dt>
<dd class="col-sm-10">
@Html.DisplayFor(model => model.DisplayName)
</dd>
<dt class="col-sm-2">
@Html.DisplayNameFor(model => model.CountryOfBirth)
</dt>

View File

@@ -11,7 +11,9 @@
<div class="row">
<div class="col-md-4">
<form asp-action="Edit">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div asp-validation-summary="ModelOnly"
class="text-danger">
</div>
<div class="form-group">
<label asp-for="Name"
class="control-label">
@@ -32,6 +34,26 @@
class="text-danger">
</span>
</div>
<div class="form-group">
<label asp-for="Alias"
class="control-label">
</label>
<input asp-for="Alias"
class="form-control" />
<span asp-validation-for="Alias"
class="text-danger">
</span>
</div>
<div class="form-group">
<label asp-for="DisplayName"
class="control-label">
</label>
<input asp-for="DisplayName"
class="form-control" />
<span asp-validation-for="DisplayName"
class="text-danger">
</span>
</div>
<div class="form-group">
<label asp-for="BirthDate"
class="control-label">
@@ -91,10 +113,16 @@
asp-items="ViewBag.CountryOfBirthId">
</select>
</div>
<input type="hidden" asp-for="Id" />
<input type="hidden"
asp-for="Id" />
<div class="form-group">
<input type="submit" value="Save" class="btn btn-primary" />
<a asp-action="Index" class="btn btn-secondary">Back to List</a>
<input class="btn btn-primary"
type="submit"
value="Save" />
<a asp-action="Index"
class="btn btn-secondary">
Back to List
</a>
</div>
</form>
</div>
@@ -102,4 +130,4 @@
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}
}

View File

@@ -2,7 +2,7 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp2.2</TargetFramework>
<Version>3.0.99.869</Version>
<Version>3.0.99.872</Version>
<Company>Canary Islands Computer Museum</Company>
<Copyright>Copyright © 2003-2018 Natalia Portillo</Copyright>
<Product>Canary Islands Computer Museum Website</Product>