示例#1
0
        public RedirectResult SortWidgetsAction(PageWidgetSortModel pageWidgetSortModel, string returnUrl = null)
        {
            _layoutAreaAdminService.SetWidgetOrders(pageWidgetSortModel);

            return(Redirect(!string.IsNullOrEmpty(returnUrl)
                ? returnUrl
                : "/Admin/LayoutArea/Edit/" + pageWidgetSortModel.LayoutAreaId));
        }
 public void SetWidgetOrders(PageWidgetSortModel pageWidgetSortModel)
 {
     _session.Transact(session => pageWidgetSortModel.Widgets.ForEach(model =>
     {
         var widget          = _session.Get <Widget>(model.Id);
         widget.DisplayOrder = model.Order;
         session.SaveOrUpdate(widget);
     }));
 }
示例#3
0
 public void SetWidgetOrders(PageWidgetSortModel pageWidgetSortModel)
 {
     _widgetRepository.Transact(repository => pageWidgetSortModel.Widgets.ForEach(model =>
     {
         var widget          = repository.Get(model.Id);
         widget.DisplayOrder = model.Order;
         repository.Update(widget);
     }));
 }
        public void LayoutAreaController_SortWidgetsForPage_IsResultOfCallToGetSortModel()
        {
            var newLayoutArea       = GetNewLayoutArea();
            var pageWidgetSortModel = new PageWidgetSortModel();

            A.CallTo(() => _layoutAreaAdminService.GetSortModel(newLayoutArea, 2)).Returns(pageWidgetSortModel);
            _layoutAreaController.SortWidgetsForPage(newLayoutArea, 2)
            .Model.Should()
            .Be(pageWidgetSortModel);
        }
示例#5
0
        public ActionResult SortWidgetsForPage(PageWidgetSortModel pageWidgetSortModel, string returnUrl = null)
        {
            _layoutAreaAdminService.SetWidgetForPageOrders(pageWidgetSortModel);

            if (!string.IsNullOrEmpty(returnUrl))
            {
                return(Redirect(returnUrl));
            }

            return(RedirectToAction("Edit", "Webpage", new { id = pageWidgetSortModel.WebpageId }));
        }
示例#6
0
        public void SetWidgetForPageOrders(PageWidgetSortModel pageWidgetSortModel)
        {
            _layoutAreaRepository.Transact(layoutAreaRepository =>
            {
                var layoutArea = layoutAreaRepository.Get(pageWidgetSortModel.LayoutAreaId);
                var webpage    = _webpageRepository.Get(pageWidgetSortModel.WebpageId);
                pageWidgetSortModel.Widgets.ForEach(model =>
                {
                    var widget = _widgetRepository.Get(model.Id);

                    PageWidgetSort widgetSort = _pageWidgetSortRepository.Query()
                                                .SingleOrDefault(
                        sort => sort.LayoutArea == layoutArea &&
                        sort.Webpage == webpage &&
                        sort.Widget == widget);
                    var isNew = widgetSort == null;
                    if (isNew)
                    {
                        widgetSort = new PageWidgetSort
                        {
                            LayoutArea =
                                layoutArea,
                            Webpage = webpage,
                            Widget  = widget
                        }
                    }
                    ;
                    widgetSort.Order = model.Order;
                    if (!layoutArea.PageWidgetSorts.Contains(widgetSort))
                    {
                        layoutArea.PageWidgetSorts.Add(widgetSort);
                    }
                    if (!webpage.PageWidgetSorts.Contains(widgetSort))
                    {
                        webpage.PageWidgetSorts.Add(widgetSort);
                    }
                    if (!widget.PageWidgetSorts.Contains(widgetSort))
                    {
                        widget.PageWidgetSorts.Add(widgetSort);
                    }
                    if (isNew)
                    {
                        _pageWidgetSortRepository.Add(widgetSort);
                    }
                    else
                    {
                        _pageWidgetSortRepository.Update(widgetSort);
                    }
                });
            });
        }
        public void SetWidgetForPageOrders(PageWidgetSortModel pageWidgetSortModel)
        {
            _session.Transact(session =>
            {
                var layoutArea = _session.Get <LayoutArea>(pageWidgetSortModel.LayoutAreaId);
                var webpage    = _session.Get <Webpage>(pageWidgetSortModel.WebpageId);
                pageWidgetSortModel.Widgets.ForEach(model =>
                {
                    var widget = _session.Get <Widget>(model.Id);

                    var widgetSort =
                        _session.QueryOver <PageWidgetSort>().Where(
                            sort =>
                            sort.LayoutArea == layoutArea &&
                            sort.Webpage == webpage &&
                            sort.Widget == widget).SingleOrDefault() ??
                        new PageWidgetSort
                    {
                        LayoutArea =
                            layoutArea,
                        Webpage = webpage,
                        Widget  = widget
                    };
                    widgetSort.Order = model.Order;
                    if (!layoutArea.PageWidgetSorts.Contains(widgetSort))
                    {
                        layoutArea.PageWidgetSorts.Add(widgetSort);
                    }
                    if (!webpage.PageWidgetSorts.Contains(widgetSort))
                    {
                        webpage.PageWidgetSorts.Add(widgetSort);
                    }
                    if (!widget.PageWidgetSorts.Contains(widgetSort))
                    {
                        widget.PageWidgetSorts.Add(widgetSort);
                    }
                    session.SaveOrUpdate(widgetSort);
                });
            });
        }