diff --git a/KanSan.Base/BaseRepository.cs b/KanSan.Base/BaseRepository.cs index 9610ffe..2040459 100644 --- a/KanSan.Base/BaseRepository.cs +++ b/KanSan.Base/BaseRepository.cs @@ -2,6 +2,7 @@ using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Linq.Expressions; using System.Text; @@ -74,7 +75,19 @@ namespace KanSan.Base public void Update(TEntity entityToUpdate) { dbSet.Attach(entityToUpdate); - context.Entry(entityToUpdate).State = EntityState.Modified; + IDatabaseEntry x = (entityToUpdate as IDatabaseEntry); + if(x == null) + return; + if(x.ID.Equals(0)) + { + // Scheint ein neuer Eintrag zu sein + context.Entry(entityToUpdate).State = EntityState.Added; + } + else + { + context.Entry(entityToUpdate).State = EntityState.Modified; + } + } } } diff --git a/KanSan.Base/KanSanContext.cs b/KanSan.Base/KanSanContext.cs index 31b865d..9e45b19 100644 --- a/KanSan.Base/KanSanContext.cs +++ b/KanSan.Base/KanSanContext.cs @@ -18,7 +18,8 @@ namespace KanSan.Base protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { - optionsBuilder.UseSqlite("Data Source=kansan.db"); + optionsBuilder.UseNpgsql("Host = localhost; Database = kanSan; Username = kansan; Password = kansan"); + //optionsBuilder.UseSqlite("Data Source=kansan.db"); } } } diff --git a/KanSan.Base/Migrations/20200221103518_InitialCommit.Designer.cs b/KanSan.Base/Migrations/20200225192255_InitialCommit.Designer.cs similarity index 65% rename from KanSan.Base/Migrations/20200221103518_InitialCommit.Designer.cs rename to KanSan.Base/Migrations/20200225192255_InitialCommit.Designer.cs index b9838dc..b2db22e 100644 --- a/KanSan.Base/Migrations/20200221103518_InitialCommit.Designer.cs +++ b/KanSan.Base/Migrations/20200225192255_InitialCommit.Designer.cs @@ -5,36 +5,40 @@ using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace KanSan.Base.Migrations { [DbContext(typeof(KanSanContext))] - [Migration("20200221103518_InitialCommit")] + [Migration("20200225192255_InitialCommit")] partial class InitialCommit { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "3.1.1"); + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn) + .HasAnnotation("ProductVersion", "3.1.2") + .HasAnnotation("Relational:MaxIdentifierLength", 63); modelBuilder.Entity("KanSan.Base.Models.Baustelle", b => { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("BaustelleNummer") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("OrtTeil") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("ProjektID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.HasKey("ID"); @@ -47,13 +51,14 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("Kennzeichen") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.HasKey("ID"); @@ -64,25 +69,26 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("Nachname") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("Ort") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("PLZ") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("Strasse") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("Vorname") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.HasKey("ID"); @@ -93,19 +99,20 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Beschreibung") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("Einheit") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("Positionsnummer") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.HasKey("ID"); @@ -116,19 +123,20 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("KundeID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("Ort") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("Projektnummer") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.HasKey("ID"); @@ -141,13 +149,14 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("SanierungsTyp") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.HasKey("ID"); @@ -158,19 +167,20 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("SanierungsTyp") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("SanierungskonzeptID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("SewerID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.HasKey("ID"); @@ -185,40 +195,41 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("BaustelleID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("DN") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("Material") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("ObjektNummer") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("PunktObenID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("PunktTypeOben") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("PunktTypeUnten") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("PunktUntenID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("SewerType") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("StrasseName") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.HasKey("ID"); @@ -235,13 +246,14 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("Objektnummer") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.HasKey("ID"); @@ -252,31 +264,32 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Anzahl") - .HasColumnType("TEXT"); + .HasColumnType("numeric"); b.Property("FahrzeugID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("LeitungsverzeichnisPositionID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("Mitarbeiter") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("Position") - .HasColumnType("TEXT"); + .HasColumnType("numeric"); b.Property("SanierungskonzeptID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("ZeitStempel") - .HasColumnType("TEXT"); + .HasColumnType("timestamp without time zone"); b.HasKey("ID"); diff --git a/KanSan.Base/Migrations/20200221103518_InitialCommit.cs b/KanSan.Base/Migrations/20200225192255_InitialCommit.cs similarity index 90% rename from KanSan.Base/Migrations/20200221103518_InitialCommit.cs rename to KanSan.Base/Migrations/20200225192255_InitialCommit.cs index 191ab1e..24953b5 100644 --- a/KanSan.Base/Migrations/20200221103518_InitialCommit.cs +++ b/KanSan.Base/Migrations/20200225192255_InitialCommit.cs @@ -1,5 +1,6 @@ using System; using Microsoft.EntityFrameworkCore.Migrations; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace KanSan.Base.Migrations { @@ -12,7 +13,7 @@ namespace KanSan.Base.Migrations columns: table => new { ID = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), GuidNr = table.Column(nullable: false), Kennzeichen = table.Column(nullable: true) }, @@ -26,7 +27,7 @@ namespace KanSan.Base.Migrations columns: table => new { ID = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), GuidNr = table.Column(nullable: false), Vorname = table.Column(nullable: true), Nachname = table.Column(nullable: true), @@ -44,7 +45,7 @@ namespace KanSan.Base.Migrations columns: table => new { ID = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), GuidNr = table.Column(nullable: false), Positionsnummer = table.Column(nullable: true), Beschreibung = table.Column(nullable: true), @@ -60,7 +61,7 @@ namespace KanSan.Base.Migrations columns: table => new { ID = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), GuidNr = table.Column(nullable: false), SanierungsTyp = table.Column(nullable: false) }, @@ -74,7 +75,7 @@ namespace KanSan.Base.Migrations columns: table => new { ID = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), GuidNr = table.Column(nullable: false), Objektnummer = table.Column(nullable: true) }, @@ -88,7 +89,7 @@ namespace KanSan.Base.Migrations columns: table => new { ID = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), GuidNr = table.Column(nullable: false), KundeID = table.Column(nullable: true), Ort = table.Column(nullable: true), @@ -110,7 +111,7 @@ namespace KanSan.Base.Migrations columns: table => new { ID = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), GuidNr = table.Column(nullable: false), SanierungskonzeptID = table.Column(nullable: true), FahrzeugID = table.Column(nullable: true), @@ -130,7 +131,7 @@ namespace KanSan.Base.Migrations principalColumn: "ID", onDelete: ReferentialAction.Restrict); table.ForeignKey( - name: "FK_Taetigkeiten_LeitungsverzeichnisPositionen_LeitungsverzeichnisPositionID", + name: "FK_Taetigkeiten_LeitungsverzeichnisPositionen_Leitungsverzeich~", column: x => x.LeitungsverzeichnisPositionID, principalTable: "LeitungsverzeichnisPositionen", principalColumn: "ID", @@ -148,7 +149,7 @@ namespace KanSan.Base.Migrations columns: table => new { ID = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), GuidNr = table.Column(nullable: false), ProjektID = table.Column(nullable: true), OrtTeil = table.Column(nullable: true), @@ -170,7 +171,7 @@ namespace KanSan.Base.Migrations columns: table => new { ID = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), GuidNr = table.Column(nullable: false), BaustelleID = table.Column(nullable: true), StrasseName = table.Column(nullable: true), @@ -211,7 +212,7 @@ namespace KanSan.Base.Migrations columns: table => new { ID = table.Column(nullable: false) - .Annotation("Sqlite:Autoincrement", true), + .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), GuidNr = table.Column(nullable: false), SewerID = table.Column(nullable: true), SanierungsTyp = table.Column(nullable: false), diff --git a/KanSan.Base/Migrations/KanSanContextModelSnapshot.cs b/KanSan.Base/Migrations/KanSanContextModelSnapshot.cs index 95870b2..3a9dda2 100644 --- a/KanSan.Base/Migrations/KanSanContextModelSnapshot.cs +++ b/KanSan.Base/Migrations/KanSanContextModelSnapshot.cs @@ -4,6 +4,7 @@ using KanSan.Base; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; namespace KanSan.Base.Migrations { @@ -14,25 +15,28 @@ namespace KanSan.Base.Migrations { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("ProductVersion", "3.1.1"); + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn) + .HasAnnotation("ProductVersion", "3.1.2") + .HasAnnotation("Relational:MaxIdentifierLength", 63); modelBuilder.Entity("KanSan.Base.Models.Baustelle", b => { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("BaustelleNummer") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("OrtTeil") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("ProjektID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.HasKey("ID"); @@ -45,13 +49,14 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("Kennzeichen") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.HasKey("ID"); @@ -62,25 +67,26 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("Nachname") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("Ort") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("PLZ") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("Strasse") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("Vorname") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.HasKey("ID"); @@ -91,19 +97,20 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Beschreibung") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("Einheit") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("Positionsnummer") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.HasKey("ID"); @@ -114,19 +121,20 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("KundeID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("Ort") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("Projektnummer") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.HasKey("ID"); @@ -139,13 +147,14 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("SanierungsTyp") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.HasKey("ID"); @@ -156,19 +165,20 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("SanierungsTyp") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("SanierungskonzeptID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("SewerID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.HasKey("ID"); @@ -183,40 +193,41 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("BaustelleID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("DN") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("Material") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("ObjektNummer") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("PunktObenID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("PunktTypeOben") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("PunktTypeUnten") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("PunktUntenID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("SewerType") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("StrasseName") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.HasKey("ID"); @@ -233,13 +244,14 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("Objektnummer") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.HasKey("ID"); @@ -250,31 +262,32 @@ namespace KanSan.Base.Migrations { b.Property("ID") .ValueGeneratedOnAdd() - .HasColumnType("INTEGER"); + .HasColumnType("integer") + .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn); b.Property("Anzahl") - .HasColumnType("TEXT"); + .HasColumnType("numeric"); b.Property("FahrzeugID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("GuidNr") - .HasColumnType("TEXT"); + .HasColumnType("uuid"); b.Property("LeitungsverzeichnisPositionID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("Mitarbeiter") - .HasColumnType("TEXT"); + .HasColumnType("text"); b.Property("Position") - .HasColumnType("TEXT"); + .HasColumnType("numeric"); b.Property("SanierungskonzeptID") - .HasColumnType("INTEGER"); + .HasColumnType("integer"); b.Property("ZeitStempel") - .HasColumnType("TEXT"); + .HasColumnType("timestamp without time zone"); b.HasKey("ID"); diff --git a/KanSan.ViewModel/KundenListViewModel.cs b/KanSan.ViewModel/KundenListViewModel.cs index 945f6cf..b29f879 100644 --- a/KanSan.ViewModel/KundenListViewModel.cs +++ b/KanSan.ViewModel/KundenListViewModel.cs @@ -31,15 +31,17 @@ namespace KanSan.ViewModel public Kunde NeueKunde() { Kunde result = new Kunde(); + //result.ID = 1; result.GuidNr = Guid.NewGuid(); unitOfWork.KundenRepository.Insert(result); unitOfWork.Commit(); + return result; - IEnumerable kunden = unitOfWork.KundenRepository.Get(d => d.GuidNr.Equals(result.GuidNr)); - if (kunden.Count() < 1) - throw new Exception("Kunde konnte nicht gefunden werden"); + //IEnumerable kunden = unitOfWork.KundenRepository.Get(d => d.GuidNr.Equals(result.GuidNr)); + //if (kunden.Count() < 1) + // throw new Exception("Kunde konnte nicht gefunden werden"); - return kunden.First(); + //return kunden.First(); } } } diff --git a/KanSan.ViewModel/ProjektListViewModel.cs b/KanSan.ViewModel/ProjektListViewModel.cs index 765243f..469eedc 100644 --- a/KanSan.ViewModel/ProjektListViewModel.cs +++ b/KanSan.ViewModel/ProjektListViewModel.cs @@ -15,9 +15,9 @@ namespace KanSan.ViewModel public ProjektListViewModel(Kunde client) { - List clients = unitOfWork.KundenRepository.Get(x => x.GuidNr.Equals(client.GuidNr)).ToList(); - this.selectedKunde = clients.First(); - //this.selectedKunde = selectedKunde; + //List clients = unitOfWork.KundenRepository.Get(x => x.GuidNr.Equals(client.GuidNr)).ToList(); + //this.selectedKunde = clients.First(); + this.selectedKunde = client; @@ -38,7 +38,8 @@ namespace KanSan.ViewModel Kunde = selectedKunde }; - unitOfWork.ProjekteRepository.Insert(newProjekt); + unitOfWork.ProjekteRepository.Update(newProjekt); + //unitOfWork.ProjekteRepository.Insert(newProjekt); unitOfWork.Commit(); List res = unitOfWork.ProjekteRepository.Get(x => x.GuidNr.Equals(guid)).ToList();