Add alias and display name to document people.

This commit is contained in:
2019-06-30 22:37:03 +01:00
parent 3e03c962fa
commit b4b01ce2e2
6 changed files with 8254 additions and 6 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 AddDisplayNameAndAliasToDocumentPerson : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>("Alias", "DocumentPeople", nullable: true);
migrationBuilder.AddColumn<string>("DisplayName", "DocumentPeople", nullable: true);
migrationBuilder.CreateIndex("IX_DocumentPeople_Alias", "DocumentPeople", "Alias");
migrationBuilder.CreateIndex("IX_DocumentPeople_DisplayName", "DocumentPeople", "DisplayName");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropIndex("IX_DocumentPeople_Alias", "DocumentPeople");
migrationBuilder.DropIndex("IX_DocumentPeople_DisplayName", "DocumentPeople");
migrationBuilder.DropColumn("Alias", "DocumentPeople");
migrationBuilder.DropColumn("DisplayName", "DocumentPeople");
}
}
}

View File

@@ -398,6 +398,10 @@ namespace Cicm.Database.Migrations
{
b.Property<int>("Id").ValueGeneratedOnAdd();
b.Property<string>("Alias");
b.Property<string>("DisplayName");
b.Property<string>("Name").IsRequired();
b.Property<int?>("PersonId");
@@ -406,6 +410,10 @@ namespace Cicm.Database.Migrations
b.HasKey("Id");
b.HasIndex("Alias");
b.HasIndex("DisplayName");
b.HasIndex("Name");
b.HasIndex("PersonId").IsUnique();

View File

@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
@@ -9,15 +10,19 @@ namespace Cicm.Database.Models
[Required]
public string Name { get; set; }
[Required]
public string Surname { get; set; }
public int? PersonId { get; set; }
public string Surname { get; set; }
public int? PersonId { get; set; }
public string Alias { get; set; }
[DisplayName("Name to be displayed")]
public string DisplayName { get; set; }
[NotMapped]
[DisplayName("Name")]
public string FullName => DisplayName ?? Alias ?? $"{Name} {Surname}";
public virtual Person Person { get; set; }
public virtual ICollection<PeopleByDocument> Documents { get; set; }
public virtual ICollection<PeopleByBook> Books { get; set; }
public virtual ICollection<PeopleByMagazine> Magazines { get; set; }
[NotMapped]
public string FullName => $"{Name} {Surname}";
}
}

View File

@@ -398,6 +398,10 @@ namespace Cicm.Database.Models
entity.HasIndex(e => e.PersonId).IsUnique();
entity.HasIndex(e => e.Alias);
entity.HasIndex(e => e.DisplayName);
entity.HasOne(d => d.Person).WithOne(p => p.DocumentPerson)
.HasForeignKey<Person>(d => d.DocumentPersonId).OnDelete(DeleteBehavior.SetNull);
});

View File

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