diff --git a/ConfectioneryDatabaseImplement/Pastry.cs b/ConfectioneryDatabaseImplement/Pastry.cs index cac6c89..8f69a58 100644 --- a/ConfectioneryDatabaseImplement/Pastry.cs +++ b/ConfectioneryDatabaseImplement/Pastry.cs @@ -79,7 +79,7 @@ namespace ConfectioneryDatabaseImplement.Models .ContainsKey(rec.ComponentId))); context.SaveChanges(); // обновили количество у существующих записей - foreach (var updateComponent in pastryComponents) + foreach (var updateComponent in pastryComponents.Where(x => model.PastryComponents.ContainsKey(x.ComponentId))) { updateComponent.Count = model.PastryComponents[updateComponent.ComponentId].Item2; model.PastryComponents.Remove(updateComponent.ComponentId); diff --git a/ConfectioneryDatabaseImplement/PastryStorage.cs b/ConfectioneryDatabaseImplement/PastryStorage.cs index 45eafbb..90ce3b6 100644 --- a/ConfectioneryDatabaseImplement/PastryStorage.cs +++ b/ConfectioneryDatabaseImplement/PastryStorage.cs @@ -72,10 +72,8 @@ namespace ConfectioneryDatabaseImplement.Implements { return null; } - newPastry = context.Pastries.Add(newPastry).Entity; + context.Pastries.Add(newPastry); context.SaveChanges(); - model.Id = newPastry.Id; - // newPastry.UpdateComponents(context, model); return newPastry.GetViewModel; } @@ -91,9 +89,9 @@ namespace ConfectioneryDatabaseImplement.Implements return null; } pastry.Update(model); - pastry.UpdateComponents(context, model); context.Update(pastry); context.SaveChanges(); + pastry.UpdateComponents(context, model); transaction.Commit(); return pastry.GetViewModel; }