public RedirectResult SortWidgetsAction(PageWidgetSortModel pageWidgetSortModel, string returnUrl = null) { _layoutAreaAdminService.SetWidgetOrders(pageWidgetSortModel); return Redirect(!string.IsNullOrEmpty(returnUrl) ? returnUrl : "/Admin/LayoutArea/Edit/" + pageWidgetSortModel.LayoutAreaId); }
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); }
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); })); }
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); }); }); }
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}); }