コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }