From 1b157104dc983e387fdc98f565333142cd7515ea Mon Sep 17 00:00:00 2001 From: Balint Morasz Date: Thu, 25 Jul 2024 09:21:11 +0200 Subject: [PATCH] db: AddOsztalyToV2KarakterVarazslat --- ...ddOsztalyToV2KarakterVarazslat.Designer.cs | 750 ++++++++++++++++++ ...5071920_AddOsztalyToV2KarakterVarazslat.cs | 29 + .../ApplicationDbContextModelSnapshot.cs | 5 +- Kemkas.Web/Db/Models/V2KarakterVarazslat.cs | 3 + .../Character2EDtoToDbModelService.cs | 5 +- .../CharacterDbModelToDto2EService.cs | 1 + .../ViewModels/KarakterVarazslat2eDto.cs | 3 + Kemkas.Web/packages.lock.json | 56 +- README.md | 6 +- 9 files changed, 825 insertions(+), 33 deletions(-) create mode 100644 Kemkas.Web/Db/Migrations/20240725071920_AddOsztalyToV2KarakterVarazslat.Designer.cs create mode 100644 Kemkas.Web/Db/Migrations/20240725071920_AddOsztalyToV2KarakterVarazslat.cs diff --git a/Kemkas.Web/Db/Migrations/20240725071920_AddOsztalyToV2KarakterVarazslat.Designer.cs b/Kemkas.Web/Db/Migrations/20240725071920_AddOsztalyToV2KarakterVarazslat.Designer.cs new file mode 100644 index 0000000..e21ad0d --- /dev/null +++ b/Kemkas.Web/Db/Migrations/20240725071920_AddOsztalyToV2KarakterVarazslat.Designer.cs @@ -0,0 +1,750 @@ +// +using System; +using Kemkas.Web.Db; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; + +#nullable disable + +namespace Kemkas.Web.Db.Migrations +{ + [DbContext(typeof(ApplicationDbContext))] + [Migration("20240725071920_AddOsztalyToV2KarakterVarazslat")] + partial class AddOsztalyToV2KarakterVarazslat + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.7") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Kemkas.Web.Db.Models.ApplicationRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex"); + + b.ToTable("AspNetRoles", (string)null); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.ApplicationUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AccessFailedCount") + .HasColumnType("integer"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("text"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("boolean"); + + b.Property("LockoutEnabled") + .HasColumnType("boolean"); + + b.Property("LockoutEnd") + .HasColumnType("timestamp with time zone"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.Property("PasswordHash") + .HasColumnType("text"); + + b.Property("PhoneNumber") + .HasColumnType("text"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("boolean"); + + b.Property("SecurityStamp") + .HasColumnType("text"); + + b.Property("TwoFactorEnabled") + .HasColumnType("boolean"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("character varying(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex"); + + b.ToTable("AspNetUsers", (string)null); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V1Felszereles", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("IsFegyver") + .HasColumnType("boolean"); + + b.Property("KarakterId") + .HasColumnType("uuid"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("KarakterId"); + + b.ToTable("Felszerelesek"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V1Karakter", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Bolcsesseg") + .HasColumnType("smallint"); + + b.Property("Egeszseg") + .HasColumnType("smallint"); + + b.Property("Ero") + .HasColumnType("smallint"); + + b.Property("Faj") + .HasColumnType("integer"); + + b.Property("Intelligencia") + .HasColumnType("smallint"); + + b.Property("IsPublic") + .HasColumnType("boolean"); + + b.Property("Isten") + .HasColumnType("text"); + + b.Property("Jellem") + .HasColumnType("smallint"); + + b.Property("Karizma") + .HasColumnType("smallint"); + + b.Property("Kor") + .HasColumnType("double precision"); + + b.Property("Nem") + .HasColumnType("text"); + + b.Property("Nev") + .IsRequired() + .HasColumnType("text"); + + b.Property("Osztaly") + .HasColumnType("integer"); + + b.Property("OwnerUserId") + .HasColumnType("integer"); + + b.Property("Pajzs") + .HasColumnType("text"); + + b.Property("Pancel") + .HasColumnType("text"); + + b.Property("Szint") + .HasColumnType("smallint"); + + b.Property("Ugyesseg") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("OwnerUserId"); + + b.ToTable("Karakterek"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V1KarakterKepzettseg", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("IsTolvajKepzettseg") + .HasColumnType("boolean"); + + b.Property("KarakterId") + .HasColumnType("uuid"); + + b.Property("Kepzettseg") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("KarakterId"); + + b.ToTable("KarakterKepzettsegek"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V1Szintlepes", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("FegyverSpecializacio") + .HasColumnType("text"); + + b.Property("HpRoll") + .HasColumnType("smallint"); + + b.Property("KarakterId") + .HasColumnType("uuid"); + + b.Property("KarakterSzint") + .HasColumnType("smallint"); + + b.Property("TulajdonsagNoveles") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("KarakterId"); + + b.ToTable("Szintlepesek"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V2Felszereles", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Count") + .HasColumnType("integer"); + + b.Property("IsAprosag") + .HasColumnType("boolean"); + + b.Property("IsCipelt") + .HasColumnType("boolean"); + + b.Property("IsFegyver") + .HasColumnType("boolean"); + + b.Property("IsViselt") + .HasColumnType("boolean"); + + b.Property("KarakterId") + .HasColumnType("uuid"); + + b.Property("TargyId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("KarakterId"); + + b.ToTable("Felszerelesek2E"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V2Karakter", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("AranyTaller") + .HasColumnType("integer"); + + b.Property("Bolcsesseg") + .HasColumnType("smallint"); + + b.Property("Egeszseg") + .HasColumnType("smallint"); + + b.Property("ElektrumTaller") + .HasColumnType("integer"); + + b.Property("Ero") + .HasColumnType("smallint"); + + b.Property("EzustTaller") + .HasColumnType("integer"); + + b.Property("Faj") + .HasColumnType("integer"); + + b.Property("Intelligencia") + .HasColumnType("smallint"); + + b.Property("IsPublic") + .HasColumnType("boolean"); + + b.Property("Isten") + .HasColumnType("text"); + + b.Property("Jellem") + .HasColumnType("smallint"); + + b.Property("Karizma") + .HasColumnType("smallint"); + + b.Property("Kor") + .HasColumnType("double precision"); + + b.Property("Nem") + .HasColumnType("text"); + + b.Property("Nev") + .IsRequired() + .HasColumnType("text"); + + b.Property("OwnerUserId") + .HasColumnType("integer"); + + b.Property("Pajzs") + .HasColumnType("text"); + + b.Property("Pancel") + .HasColumnType("text"); + + b.Property("Szint") + .HasColumnType("smallint"); + + b.Property("Ugyesseg") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("OwnerUserId"); + + b.ToTable("Karakterek2E"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V2KarakterKepzettseg", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("IsTolvajKepzettseg") + .HasColumnType("boolean"); + + b.Property("KarakterId") + .HasColumnType("uuid"); + + b.Property("Kepzettseg") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("KarakterId"); + + b.ToTable("KarakterKepzettsegek2E"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V2KarakterVarazslat", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("Bekeszitve") + .HasColumnType("boolean"); + + b.Property("KarakterId") + .HasColumnType("uuid"); + + b.Property("Osztaly") + .HasColumnType("integer"); + + b.Property("VarazslatId") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("KarakterId"); + + b.ToTable("V2KarakterVarazslat"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V2Szintlepes", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uuid"); + + b.Property("FegyverSpecializacio") + .HasColumnType("text"); + + b.Property("HpRoll") + .HasColumnType("smallint"); + + b.Property("KarakterId") + .HasColumnType("uuid"); + + b.Property("KarakterSzint") + .HasColumnType("smallint"); + + b.Property("Osztaly") + .HasColumnType("integer"); + + b.Property("TolvajExtraKepzettseg") + .HasColumnType("integer"); + + b.Property("TulajdonsagNoveles") + .HasColumnType("smallint"); + + b.HasKey("Id"); + + b.HasIndex("KarakterId"); + + b.ToTable("Szintlepesek2E"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.DataProtection.EntityFrameworkCore.DataProtectionKey", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("FriendlyName") + .HasColumnType("text"); + + b.Property("Xml") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("DataProtectionKeys"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("text"); + + b.Property("ClaimValue") + .HasColumnType("text"); + + b.Property("UserId") + .HasColumnType("integer"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("ProviderKey") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("ProviderDisplayName") + .HasColumnType("text"); + + b.Property("UserId") + .HasColumnType("integer"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("integer"); + + b.Property("RoleId") + .HasColumnType("integer"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("integer"); + + b.Property("LoginProvider") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Name") + .HasMaxLength(128) + .HasColumnType("character varying(128)"); + + b.Property("Value") + .HasColumnType("text"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V1Felszereles", b => + { + b.HasOne("Kemkas.Web.Db.Models.V1Karakter", "Karakter") + .WithMany("Felszereles") + .HasForeignKey("KarakterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Karakter"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V1Karakter", b => + { + b.HasOne("Kemkas.Web.Db.Models.ApplicationUser", "OwnerUser") + .WithMany() + .HasForeignKey("OwnerUserId"); + + b.Navigation("OwnerUser"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V1KarakterKepzettseg", b => + { + b.HasOne("Kemkas.Web.Db.Models.V1Karakter", "Karakter") + .WithMany("KarakterKepzettsegek") + .HasForeignKey("KarakterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Karakter"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V1Szintlepes", b => + { + b.HasOne("Kemkas.Web.Db.Models.V1Karakter", "Karakter") + .WithMany("Szintlepesek") + .HasForeignKey("KarakterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Karakter"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V2Felszereles", b => + { + b.HasOne("Kemkas.Web.Db.Models.V2Karakter", "Karakter") + .WithMany("Felszereles") + .HasForeignKey("KarakterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Karakter"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V2Karakter", b => + { + b.HasOne("Kemkas.Web.Db.Models.ApplicationUser", "OwnerUser") + .WithMany() + .HasForeignKey("OwnerUserId"); + + b.Navigation("OwnerUser"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V2KarakterKepzettseg", b => + { + b.HasOne("Kemkas.Web.Db.Models.V2Karakter", "Karakter") + .WithMany("KarakterKepzettsegek") + .HasForeignKey("KarakterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Karakter"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V2KarakterVarazslat", b => + { + b.HasOne("Kemkas.Web.Db.Models.V2Karakter", "Karakter") + .WithMany("Varazslatok") + .HasForeignKey("KarakterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Karakter"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V2Szintlepes", b => + { + b.HasOne("Kemkas.Web.Db.Models.V2Karakter", "Karakter") + .WithMany("Szintlepesek") + .HasForeignKey("KarakterId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Karakter"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Kemkas.Web.Db.Models.ApplicationRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("Kemkas.Web.Db.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("Kemkas.Web.Db.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("Kemkas.Web.Db.Models.ApplicationRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Kemkas.Web.Db.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("Kemkas.Web.Db.Models.ApplicationUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V1Karakter", b => + { + b.Navigation("Felszereles"); + + b.Navigation("KarakterKepzettsegek"); + + b.Navigation("Szintlepesek"); + }); + + modelBuilder.Entity("Kemkas.Web.Db.Models.V2Karakter", b => + { + b.Navigation("Felszereles"); + + b.Navigation("KarakterKepzettsegek"); + + b.Navigation("Szintlepesek"); + + b.Navigation("Varazslatok"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Kemkas.Web/Db/Migrations/20240725071920_AddOsztalyToV2KarakterVarazslat.cs b/Kemkas.Web/Db/Migrations/20240725071920_AddOsztalyToV2KarakterVarazslat.cs new file mode 100644 index 0000000..78abc4e --- /dev/null +++ b/Kemkas.Web/Db/Migrations/20240725071920_AddOsztalyToV2KarakterVarazslat.cs @@ -0,0 +1,29 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Kemkas.Web.Db.Migrations +{ + /// + public partial class AddOsztalyToV2KarakterVarazslat : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "Osztaly", + table: "V2KarakterVarazslat", + type: "integer", + nullable: false, + defaultValue: 0); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "Osztaly", + table: "V2KarakterVarazslat"); + } + } +} diff --git a/Kemkas.Web/Db/Migrations/ApplicationDbContextModelSnapshot.cs b/Kemkas.Web/Db/Migrations/ApplicationDbContextModelSnapshot.cs index 9b90891..2474a89 100644 --- a/Kemkas.Web/Db/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/Kemkas.Web/Db/Migrations/ApplicationDbContextModelSnapshot.cs @@ -17,7 +17,7 @@ namespace Kemkas.Web.Db.Migrations { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "8.0.6") + .HasAnnotation("ProductVersion", "8.0.7") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); @@ -402,6 +402,9 @@ namespace Kemkas.Web.Db.Migrations b.Property("KarakterId") .HasColumnType("uuid"); + b.Property("Osztaly") + .HasColumnType("integer"); + b.Property("VarazslatId") .IsRequired() .HasColumnType("text"); diff --git a/Kemkas.Web/Db/Models/V2KarakterVarazslat.cs b/Kemkas.Web/Db/Models/V2KarakterVarazslat.cs index 6fdc1a1..afc33e2 100644 --- a/Kemkas.Web/Db/Models/V2KarakterVarazslat.cs +++ b/Kemkas.Web/Db/Models/V2KarakterVarazslat.cs @@ -1,5 +1,6 @@ using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using Kemkas.Web.Db.Enums; namespace Kemkas.Web.Db.Models; @@ -14,6 +15,8 @@ public class V2KarakterVarazslat public bool Bekeszitve { get; set; } + public Osztaly2E Osztaly { get; set; } + [ForeignKey(nameof(KarakterId))] public V2Karakter Karakter { get; set; } } \ No newline at end of file diff --git a/Kemkas.Web/Services/SecondEdition/Character/Character2EDtoToDbModelService.cs b/Kemkas.Web/Services/SecondEdition/Character/Character2EDtoToDbModelService.cs index 783fe1d..617e85a 100644 --- a/Kemkas.Web/Services/SecondEdition/Character/Character2EDtoToDbModelService.cs +++ b/Kemkas.Web/Services/SecondEdition/Character/Character2EDtoToDbModelService.cs @@ -84,6 +84,7 @@ public class Character2EDtoToDbModelService : ICharacter2EDtoToDbModelService Karakter = karakter, Bekeszitve = v.Bekeszitve, VarazslatId = v.VarazslatId, + Osztaly = OsztalyExtensions.Convert2E(v.Osztaly), }).ToHashSet() ?? []; return karakter; @@ -163,11 +164,13 @@ public class Character2EDtoToDbModelService : ICharacter2EDtoToDbModelService { VarazslatId = v.VarazslatId, Bekeszitve = v.Bekeszitve, + Osztaly = OsztalyExtensions.Convert2E(v.Osztaly), }).ToList(); var toUpdate = original.Varazslatok .Select(x => { - var dtoVarazslat = dtoVarazslatok.FirstOrDefault(v => v.VarazslatId == x.VarazslatId); + var dtoVarazslat = dtoVarazslatok.FirstOrDefault(v => + v.VarazslatId == x.VarazslatId && v.Osztaly == x.Osztaly.Convert()); return (dbVarazslat: x, dtoVarazslat); }) .Where(x => x.dtoVarazslat != null) diff --git a/Kemkas.Web/Services/SecondEdition/Character/CharacterDbModelToDto2EService.cs b/Kemkas.Web/Services/SecondEdition/Character/CharacterDbModelToDto2EService.cs index dc5c56c..b673830 100644 --- a/Kemkas.Web/Services/SecondEdition/Character/CharacterDbModelToDto2EService.cs +++ b/Kemkas.Web/Services/SecondEdition/Character/CharacterDbModelToDto2EService.cs @@ -59,6 +59,7 @@ public class CharacterDbModelToDto2EService : ICharacterDbModelToDto2EService { Bekeszitve = v.Bekeszitve, VarazslatId = v.VarazslatId, + Osztaly = v.Osztaly.Convert() }).ToList(), }; } diff --git a/Kemkas.Web/ViewModels/KarakterVarazslat2eDto.cs b/Kemkas.Web/ViewModels/KarakterVarazslat2eDto.cs index 2b0a739..92b7121 100644 --- a/Kemkas.Web/ViewModels/KarakterVarazslat2eDto.cs +++ b/Kemkas.Web/ViewModels/KarakterVarazslat2eDto.cs @@ -9,4 +9,7 @@ public class KarakterVarazslat2eDto [JsonPropertyName("bekeszitve")] public bool Bekeszitve { get; set; } + + [JsonPropertyName("osztaly")] + public string Osztaly { get; set; } } \ No newline at end of file diff --git a/Kemkas.Web/packages.lock.json b/Kemkas.Web/packages.lock.json index 2440359..37ec161 100644 --- a/Kemkas.Web/packages.lock.json +++ b/Kemkas.Web/packages.lock.json @@ -4,9 +4,9 @@ "net8.0": { "AspNet.Security.OAuth.Discord": { "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "+MtOHPctq1QT1c03h+7g4oBWtZ/buQYUJg4AR0DG+qjmD2cQRMGWXC1J6/ITeCc6xa5BcXzJmt1L/8pVXIB4kw==" + "requested": "[8.1.0, )", + "resolved": "8.1.0", + "contentHash": "w8BJXc17EuMRTAVSI7hrVBs8tKR+2XLqTdNsK3gQOdmKS7+37YHAPYufE6oGsRcMfMOMjmuPbWZchLgrOSV0Hw==" }, "Grpc.Core": { "type": "Direct", @@ -20,9 +20,9 @@ }, "Microsoft.AspNetCore.Authentication.Facebook": { "type": "Direct", - "requested": "[8.0.0, )", - "resolved": "8.0.0", - "contentHash": "fniH775aegFKKbTGNtbjbczcs/DEEaYo8pSJNHwUoVQKaYgJ7C4YDHo30jeUk1XZrBaksSTEK8NFUmxPWQOBHg==" + "requested": "[8.0.7, )", + "resolved": "8.0.7", + "contentHash": "UlZ2O0bhFI2NSn8O+jlUq68CKW1eSUE8e50WTecyoAooPATdfy+6d2B2IE8l1RWmiYEstFD6LNRFM4qZXF343w==" }, "Microsoft.AspNetCore.Authentication.Google": { "type": "Direct", @@ -71,24 +71,24 @@ }, "Microsoft.EntityFrameworkCore.Design": { "type": "Direct", - "requested": "[8.0.6, )", - "resolved": "8.0.6", - "contentHash": "4OT+mH+8EB4Kfn1ENpDx2Ssx459j200gvdhDOKq5lkHmHzkRpmEDKS5GfqaLZvBLJKWu1FVGQ7Wnczcjb0hX4g==", + "requested": "[8.0.7, )", + "resolved": "8.0.7", + "contentHash": "EUPY49Hi5BbpnkiX9ik/2fD9GPEbvKx6wvDmDNZTHZGlXAg1kcR9vt2QA2af1mIoa7gG1wqEvyQRWf9/A8gWqQ==", "dependencies": { "Humanizer.Core": "2.14.1", "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.5.0", - "Microsoft.EntityFrameworkCore.Relational": "8.0.6", - "Microsoft.Extensions.DependencyModel": "8.0.0", + "Microsoft.EntityFrameworkCore.Relational": "8.0.7", + "Microsoft.Extensions.DependencyModel": "8.0.1", "Mono.TextTemplating": "2.2.1" } }, "Microsoft.EntityFrameworkCore.Relational": { "type": "Direct", - "requested": "[8.0.6, )", - "resolved": "8.0.6", - "contentHash": "chhfmLusCGLGvNYtvMji6KGQlduPDnJsStG/LjS8qJhFWJDDzTZpSr2LHowewcxMrMo/Axc6Jwe+WwSi/vlkTg==", + "requested": "[8.0.7, )", + "resolved": "8.0.7", + "contentHash": "Hn86yScnW+VXb+A2LGrVGkGmjsQ9KLWR0T8GQBEcESWk8u9JYhBiRtdxz76Aq0ir82Ei48sLEZTN4VE0sJ3yIg==", "dependencies": { - "Microsoft.EntityFrameworkCore": "8.0.6", + "Microsoft.EntityFrameworkCore": "8.0.7", "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" } }, @@ -291,24 +291,24 @@ }, "Microsoft.EntityFrameworkCore": { "type": "Transitive", - "resolved": "8.0.6", - "contentHash": "Ms5e5QuBAjVIuQsGumeLvkgMiOpnj6wxPvwBIoe1NfTkseWK4NZYztnhgDlpkCPkrUmJEXLv69kl349Ours30Q==", + "resolved": "8.0.7", + "contentHash": "UOyPNAgyzw/E4hUCurqvZxi0WWVLQAGZuntFPzkTXtvJLTqRjKvokvhv+XazAUSODLsU1DZ67GjZ4mT9d82+0g==", "dependencies": { - "Microsoft.EntityFrameworkCore.Abstractions": "8.0.6", - "Microsoft.EntityFrameworkCore.Analyzers": "8.0.6", + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.7", + "Microsoft.EntityFrameworkCore.Analyzers": "8.0.7", "Microsoft.Extensions.Caching.Memory": "8.0.0", "Microsoft.Extensions.Logging": "8.0.0" } }, "Microsoft.EntityFrameworkCore.Abstractions": { "type": "Transitive", - "resolved": "8.0.6", - "contentHash": "X7wSSBNFRuN8j8M9HDYG7rPpEeyhY+PdJZR9rftmgvsZH0eK5+bZ3b3As8iO4rLEpjsBzDnrgSIY6q2F3HQatw==" + "resolved": "8.0.7", + "contentHash": "DHX6nxcg4/tpWfTjAleKrXveDiNFY/OGOK6nm27GipUXNI2Uofev9cH5SYXmtGIgHWxlvfn754TXN4WnrixOwg==" }, "Microsoft.EntityFrameworkCore.Analyzers": { "type": "Transitive", - "resolved": "8.0.6", - "contentHash": "fDNtuQ4lAaPaCOlsrwUck/GvnF4QLeDpMmE1L5QtxZpMSmWfnL2/vk8sDL9OVTWcfprooI9V5MNpIx3/Tq5ehg==" + "resolved": "8.0.7", + "contentHash": "nerD0vEOYJVhVapamRVH9DrUYbDNMJ5bPfWze4SibDDaDaekzgwQqBht97/tV+8pgdKoPAXmtiJsB+lDajwVrQ==" }, "Microsoft.EntityFrameworkCore.Relational.Design": { "type": "Transitive", @@ -379,11 +379,11 @@ }, "Microsoft.Extensions.DependencyModel": { "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "NSmDw3K0ozNDgShSIpsZcbFIzBX4w28nDag+TfaQujkXGazBm+lid5onlWoCBy4VsLxqnnKjEBbGSJVWJMf43g==", + "resolved": "8.0.1", + "contentHash": "5Ou6varcxLBzQ+Agfm0k0pnH7vrEITYlXMDuE6s7ZHlZHz6/G8XJ3iISZDr5rfwfge6RnXJ1+Wc479mMn52vjA==", "dependencies": { "System.Text.Encodings.Web": "8.0.0", - "System.Text.Json": "8.0.0" + "System.Text.Json": "8.0.4" } }, "Microsoft.Extensions.Diagnostics.Abstractions": { @@ -1469,8 +1469,8 @@ }, "System.Text.Json": { "type": "Transitive", - "resolved": "8.0.0", - "contentHash": "OdrZO2WjkiEG6ajEFRABTRCi/wuXQPxeV6g8xvUJqdxMvvuCCEk86zPla8UiIQJz3durtUEbNyY/3lIhS0yZvQ==", + "resolved": "8.0.4", + "contentHash": "bAkhgDJ88XTsqczoxEMliSrpijKZHhbJQldhAmObj/RbrN3sU5dcokuXmWJWsdQAhiMJ9bTayWsL1C9fbbCRhw==", "dependencies": { "System.Text.Encodings.Web": "8.0.0" } diff --git a/README.md b/README.md index 4e58556..cc6a08b 100644 --- a/README.md +++ b/README.md @@ -16,12 +16,12 @@ See deployment repo at: [https://github.com/morbalint/kemkas-deployment](https:/ For frontend see: [Frontend README](https://github.com/morbalint/kemkas/README.md) -To start development, spin up the docker-compose.yaml file and use the launchSettings.json to start the backend and frontend dev servers. +To start development, spin up the docker-compose.yaml file and use the launchSettings.json to start the backend dev server. Use the frontend repo to start the frontend dev server. For the first time setup: ```shell -dotnet dev-certs https --format PEM --no-password -ep ~/.aspnet/https/kemkas.pem` -docker compose up -d +dotnet dev-certs https --clean && \ +dotnet dev-certs https --format PEM --no-password -ep ~/.aspnet/https/kemkas.pem ``` Later start the docker compose first and the project launch settings after the DB is up and running.