예제 #1
0
 public Gerecht Update(Gerecht gerecht)
 {
     ctx.Attach(gerecht);
     ctx.Gerechten.Update(gerecht);
     ctx.SaveChanges();
     return(gerecht);
 }
예제 #2
0
        public Menu Update(Menu menu, List <int> gerechten)
        {
            // Attach -> menu item must be known to the context so it can
            // check whether stuff has changed in it.
            ctx.Attach(menu);
            // Load the old set of gerechten for this menu
            ctx.Entry(menu).Collection(p => p.Bevat).Load();
            var gerechtenInMenu = menu.Bevat.Select(i => i.GerechtId);

            foreach (var gerecht in ctx.Gerechten)
            {
                if (gerechten.Contains(gerecht.Id))
                {
                    if (!gerechtenInMenu.Contains(gerecht.Id))
                    {
                        menu.Bevat.Add(new MenuGerecht {
                            GerechtId = gerecht.Id, MenuId = menu.Id
                        });
                    }
                }
                else
                if (gerechtenInMenu.Contains(gerecht.Id))
                {
                    var itemToRemove = menu.Bevat.FirstOrDefault(m => m.GerechtId == gerecht.Id);
                    ctx.Remove(itemToRemove);
                }
            }
            ctx.Menus.Update(menu);
            ctx.SaveChanges();
            return(menu);
        }
예제 #3
0
 public Gerecht Update(Gerecht gerecht)
 {
     using (var ctx = new SuperSushiContext())
     {
         ctx.Attach(gerecht);
         ctx.Gerechten.Update(gerecht);
         ctx.SaveChanges();
         return(gerecht);
     }
 }
예제 #4
0
 public Menu Update(Menu menu)
 {
     using (var ctx = new SuperSushiContext())
     {
         // Attach -> menu item must be known to the context so it can
         // check whether stuff has changed in it.
         ctx.Attach(menu);
         // Load the old set of gerechten for this menu
         ctx.Menus.Update(menu);
         ctx.SaveChanges();
         return(menu);
     }
 }