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); })); }
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); }
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 })); }
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); }); }); }