public void Move(string id, string parentId, int position, int oldPosition) { var nav = Get(id); nav.ParentId = parentId; nav.DisplayOrder = position; IEnumerable <NavigationEntity> navs = CurrentDbSet.AsTracking().Where(m => m.ParentId == nav.ParentId && m.ID != nav.ID).OrderBy(m => m.DisplayOrder); int order = 1; for (int i = 0; i < navs.Count(); i++) { var eleNav = navs.ElementAt(i); if (i == position - 1) { order++; } eleNav.DisplayOrder = order; order++; } Update(nav); }
public void Move(string id, int position, int oldPosition) { var page = Get(id); page.DisplayOrder = position; IEnumerable <PageEntity> pages = CurrentDbSet.AsTracking().Where(m => !m.IsPublishedPage && m.ParentId == page.ParentId && m.ID != page.ID).OrderBy(m => m.DisplayOrder); int order = 1; for (int i = 0; i < pages.Count(); i++) { var eleNav = pages.ElementAt(i); if (i == position - 1) { order++; } eleNav.DisplayOrder = order; order++; } Update(page); }