public ActionResult LayoutZones(string ID) { var zoneService = new ZoneService(); var widgetService = new WidgetService(); var layout = Service.Get(ID); var viewModel = new LayoutZonesViewModel { Zones = zoneService.GetZonesByLayoutId(ID), Widgets = widgetService.GetByLayoutId(ID), LayoutHtml = layout.Html }; return(View(viewModel)); }
public IActionResult LayoutZones(string ID) { var layout = Service.Get(ID); var viewModel = new LayoutZonesViewModel { Layout = layout, LayoutID = ID, Zones = _zoneService.GetZonesByLayoutId(ID), Widgets = _widgetService.GetByLayoutId(ID), LayoutHtml = layout.Html }; return(View(viewModel)); }
public ActionResult LayoutZones(string ID) { var widgetService = ServiceLocator.Current.GetInstance <IWidgetService>(); var layout = Service.Get(ID); var viewModel = new LayoutZonesViewModel { LayoutID = ID, Zones = _zoneService.GetZonesByLayoutId(ID), Widgets = widgetService.GetByLayoutId(ID), LayoutHtml = layout.Html }; return(View(viewModel)); }
public IActionResult PageZones(QueryContext context) { var page = Service.Get(context.PageID); var layout = _layoutService.Get(page.LayoutId); var viewModel = new LayoutZonesViewModel { Page = page, Layout = layout, PageID = context.PageID, LayoutID = layout.ID, Zones = _zoneService.GetZonesByPageId(context.PageID), Widgets = _widgetService.GetAllByPage(Service.Get(context.PageID)), LayoutHtml = layout.Html }; return View(viewModel); }
public IActionResult PageZones(QueryContext context) { ILayoutService layoutService = HttpContext.RequestServices.GetService <ILayoutService>(); IWidgetBasePartService widgetBasePartService = HttpContext.RequestServices.GetService <IWidgetBasePartService>(); IRuleService ruleService = HttpContext.RequestServices.GetService <IRuleService>(); var page = Service.Get(context.PageID); var layout = layoutService.GetByPage(page); var viewModel = new LayoutZonesViewModel { Page = page, Layout = layout, PageID = context.PageID, LayoutID = layout.ID, Zones = layout.Zones, Widgets = widgetBasePartService.GetAllByPage(page), LayoutHtml = layout.Html }; var rules = ruleService.GetMatchRule(new RuleWorkContext { Url = Url.Content(page.Url), UserAgent = Request.Headers["User-Agent"] }); if (rules.Any()) { var ruleDic = rules.ToDictionary(m => m.RuleID, m => m); var rulesID = rules.Select(m => m.RuleID).ToArray(); var ruleWidgets = widgetBasePartService.GetAllByRule(rulesID); ruleWidgets.Each(widget => { var availableZones = layout.Zones.Where(z => ruleDic[widget.RuleID.Value].ZoneNames.Contains(z.ZoneName)); foreach (var item in availableZones) { widget.SetZone(item.HeadingCode); } }); viewModel.Widgets = viewModel.Widgets.Concat(ruleWidgets); } return(View(viewModel)); }
public ActionResult PageZones(QueryContext context) { var zoneService = ServiceLocator.Current.GetInstance <IZoneService>(); var widgetService = ServiceLocator.Current.GetInstance <IWidgetService>(); var page = Service.Get(context.PageID); var layoutService = ServiceLocator.Current.GetInstance <ILayoutService>(); var layout = layoutService.Get(page.LayoutId); var viewModel = new LayoutZonesViewModel { Page = page, Layout = layout, PageID = context.PageID, LayoutID = layout.ID, Zones = zoneService.GetZonesByPageId(context.PageID), Widgets = widgetService.GetAllByPageId(context.PageID), LayoutHtml = layout.Html }; return(View(viewModel)); }
public IActionResult PageZones(QueryContext context) { ILayoutService layoutService = HttpContext.RequestServices.GetService <ILayoutService>(); IWidgetBasePartService widgetBasePartService = HttpContext.RequestServices.GetService <IWidgetBasePartService>(); IRuleService ruleService = HttpContext.RequestServices.GetService <IRuleService>(); var page = Service.Get(context.PageID); var layout = layoutService.GetByPage(page); var viewModel = new LayoutZonesViewModel { Page = page, Layout = layout, PageID = context.PageID, LayoutID = layout.ID, Zones = layout.Zones, Widgets = widgetBasePartService.GetAllByPage(page), LayoutHtml = layout.Html }; var rules = ruleService.GetMatchRule(new RuleWorkContext { Url = Url.Content(page.Url), UserAgent = Request.Headers["User-Agent"] }); if (rules.Any()) { var rulesID = rules.Select(m => m.RuleID).ToArray(); var ruleWidgets = widgetBasePartService.GetAllByRule(rulesID); ruleWidgets.Each(widget => { var zone = layout.Zones.FirstOrDefault(z => z.ZoneName == rules.First(m => m.RuleID == widget.RuleID).ZoneName); if (zone != null) { widget.ZoneID = zone.HeadingCode; } }); viewModel.Widgets = viewModel.Widgets.Concat(ruleWidgets); } return(View(viewModel)); }