public NccMenu Update(NccMenu entity) { var oldEntity = _entityRepository.Query().Include("MenuItems").FirstOrDefault(x => x.Id == entity.Id); if (oldEntity != null) { RecursiveLoad(oldEntity); for (var i = 0; i < oldEntity.MenuItems.Count; i++) { RecursiveNccMenuItemDelete(oldEntity.MenuItems[i]); } _menuItemRepository.SaveChange(); oldEntity = _entityRepository.Query().Include("MenuItems").FirstOrDefault(x => x.Id == entity.Id); using (var txn = _entityRepository.BeginTransaction()) { CopyNewData(oldEntity, entity); _entityRepository.Edit(oldEntity); _entityRepository.SaveChange(); txn.Commit(); } } return(entity); }
public List <NccMenu> LoadAllSiteMenus() { var list = _entityRepository.Query() .Include("MenuItems").ToList(); foreach (var item in list) { RecursiveChildrenLoad(item.MenuItems); } return(list); }