diff --git a/Server/Server/DB/Context.cs b/Server/Server/DB/Context.cs index 4f8bb5c..5996fbc 100644 --- a/Server/Server/DB/Context.cs +++ b/Server/Server/DB/Context.cs @@ -101,14 +101,9 @@ namespace Server.DB .HasRequired(p => p.Gender); modelBuilder.Entity() - .HasRequired(p => p.City) + .HasRequired(p => p.City) .WithMany() - .WillCascadeOnDelete(false); - - modelBuilder.Entity() - .HasMany(p => p.PatientAtFoodPlaces) - .WithRequired() - .HasForeignKey(p => p.PatientID); + .WillCascadeOnDelete(false); modelBuilder.Entity() .Property(f => f.Name) diff --git a/Server/Server/DB/PersonDB.cs b/Server/Server/DB/PersonDB.cs index 47abfe1..be5dfaa 100644 --- a/Server/Server/DB/PersonDB.cs +++ b/Server/Server/DB/PersonDB.cs @@ -21,11 +21,27 @@ namespace Server.DB } } public bool CreatePerson(Person person) - { + { + try { using (Context ctx = new Context()) { + + var city = ctx.Cities.FirstOrDefault(c => c.CityID == person.City.CityID); + var salutation = ctx.Salutations.FirstOrDefault(c => c.SalutationID == person.Salutation.SalutationID); + var gender = ctx.Genders.FirstOrDefault(c => c.GenderID == person.Gender.GenderID); + var country = ctx.Countries.FirstOrDefault(c => c.CountryID == city.Country.CountryID); + + ctx.Cities.Attach(city); + ctx.Salutations.Attach(salutation); + ctx.Genders.Attach(gender); + ctx.Countries.Attach(country); + + person.City = city; + person.Salutation = salutation; + person.Gender = gender; + ctx.Persons.Add(person); ctx.SaveChanges(); }