MfG, DimGamer

This commit is contained in:
hydrant
2020-03-25 21:33:32 +01:00
parent 16be2869a0
commit 0d8249c39c
16 changed files with 1527 additions and 61 deletions

View File

@@ -1,5 +1,7 @@
using System.ComponentModel.DataAnnotations.Schema;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using Newtonsoft.Json;
using ReallifeGamemode.Database.Models;
/**
@@ -13,21 +15,13 @@ namespace ReallifeGamemode.Database.Entities
[Table("FactionVehicles")]
public partial class FactionVehicle : ServerVehicle
{
[ForeignKey("Faction")]
public int? FactionId { get; set; }
public Faction Faction { get; set; }
public string Owners { get; set; }
public Faction GetFaction()
{
using (var context = new DatabaseContext())
{
return context.Factions.FirstOrDefault(f => f.Id == FactionId);
}
}
public List<int> GetOwners() => JsonConvert.DeserializeObject<List<int>>(Owners);
public override string ToString()
{
return "Fraktions Fahrzeug | Fraktion: " + GetFaction().Name;
return "Fraktions Fahrzeug | Fraktion: " + string.Join(", ", GetOwners());
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,55 @@
using Microsoft.EntityFrameworkCore.Migrations;
namespace ReallifeGamemode.Database.Migrations
{
public partial class FactionVehiclesMultipleOwners : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "Owners",
table: "ServerVehicles",
nullable: true);
migrationBuilder.Sql("UPDATE servervehicles SET Owners = CONCAT('[', FactionId, ']') WHERE FactionId IS NOT NULL");
migrationBuilder.DropForeignKey(
name: "FK_ServerVehicles_Factions_FactionId",
table: "ServerVehicles");
migrationBuilder.DropIndex(
name: "IX_ServerVehicles_FactionId",
table: "ServerVehicles");
migrationBuilder.DropColumn(
name: "FactionId",
table: "ServerVehicles");
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Owners",
table: "ServerVehicles");
migrationBuilder.AddColumn<int>(
name: "FactionId",
table: "ServerVehicles",
nullable: true);
migrationBuilder.CreateIndex(
name: "IX_ServerVehicles_FactionId",
table: "ServerVehicles",
column: "FactionId");
migrationBuilder.AddForeignKey(
name: "FK_ServerVehicles_Factions_FactionId",
table: "ServerVehicles",
column: "FactionId",
principalTable: "Factions",
principalColumn: "Id",
onDelete: ReferentialAction.Restrict);
}
}
}

View File

@@ -1149,9 +1149,7 @@ namespace ReallifeGamemode.Database.Migrations
{
b.HasBaseType("ReallifeGamemode.Database.Entities.ServerVehicle");
b.Property<int?>("FactionId");
b.HasIndex("FactionId");
b.Property<string>("Owners");
b.ToTable("FactionVehicles");
@@ -1399,13 +1397,6 @@ namespace ReallifeGamemode.Database.Migrations
.OnDelete(DeleteBehavior.Cascade);
});
modelBuilder.Entity("ReallifeGamemode.Database.Entities.FactionVehicle", b =>
{
b.HasOne("ReallifeGamemode.Database.Entities.Faction", "Faction")
.WithMany()
.HasForeignKey("FactionId");
});
modelBuilder.Entity("ReallifeGamemode.Database.Entities.GroupVehicle", b =>
{
b.HasOne("ReallifeGamemode.Database.Entities.Group", "Group")