示例#1
0
 static void AddOrRemoveLayouts(ModulesDbContext dbContext, Meeting entity, Meeting existing)
 {
     foreach (var layout in entity.Layouts)
     {
         var existingGable = existing.Layouts.AsQueryable().FirstOrDefault(g => g.Id == layout.Id);
         if (existingGable is null)
         {
             existing.Layouts.Add(layout);
         }
         else
         {
             dbContext.Entry(existingGable).CurrentValues.SetValues(layout);
         }
     }
     foreach (var gable in existing.Layouts)
     {
         if (!entity.Layouts.Any(mg => mg.Id == gable.Id))
         {
             dbContext.Remove(gable);
         }
     }
 }
            static void AddOrRemoveExits(ModulesDbContext dbContext, Module entity, Module existing)
            {
                foreach (var exit in entity.ModuleExits)
                {
                    var existingExit = existing.ModuleExits.AsQueryable().FirstOrDefault(g => g.Id == exit.Id);

                    if (existingExit is null)
                    {
                        existing.ModuleExits.Add(exit);
                    }
                    else
                    {
                        dbContext.Entry(existingExit).CurrentValues.SetValues(exit);
                    }
                }
                foreach (var exit in existing.ModuleExits)
                {
                    if (!entity.ModuleExits.Any(mg => mg.Id == exit.Id))
                    {
                        dbContext.Remove(exit);
                    }
                }
            }