public ActionResult PageWidgets(Guid id) {
			WidgetListModel model = new WidgetListModel(id);
			model.PlaceholderName = String.Empty;

			ShowSaved();

			return PageWidgets(model);
		}
		public ActionResult PageWidgets(WidgetListModel model) {
			List<Guid> lsActive = model.Controls.Where(x => x.IsWidgetActive).Select(x => x.Root_WidgetID).ToList();
			widgetHelper.SetStatusList(model.Root_ContentID, lsActive, true);

			List<Guid> lsInactive = model.Controls.Where(x => !x.IsWidgetActive).Select(x => x.Root_WidgetID).ToList();
			widgetHelper.SetStatusList(model.Root_ContentID, lsInactive, false);

			model = new WidgetListModel(model.Root_ContentID);

			ModelState.Clear();

			return View(model);
		}
		public ActionResult WidgetList(WidgetListModel model) {
			List<Widget> widgets = model.Controls;
			cmsHelper.OverrideKey(model.Root_ContentID);

			if (widgets != null && widgets.Any()) {
				var cacheWidget = cmsHelper.cmsAdminWidget;

				foreach (var w in widgets) {
					var ww = (from cw in cacheWidget
							  where cw.Root_WidgetID == w.Root_WidgetID
							  select cw).FirstOrDefault();

					if (w.IsWidgetActive) {
						ww.IsWidgetActive = true;
						ww.IsWidgetPendingDelete = false;
					} else {
						ww.IsWidgetActive = false;
					}

					if (w.IsWidgetPendingDelete) {
						ww.IsWidgetPendingDelete = true;
						ww.IsWidgetActive = false;
					} else {
						ww.IsWidgetPendingDelete = false;
					}

					ww.EditDate = SiteData.CurrentSite.Now;
				}

				cmsHelper.cmsAdminWidget = cacheWidget;
			}

			SetSaved();

			return RedirectToAction("WidgetList", new { @id = model.Root_ContentID, @zone = model.PlaceholderName });
		}
		public ActionResult WidgetList(Guid id, string zone) {
			WidgetListModel model = new WidgetListModel();
			model.Root_ContentID = id;
			model.PlaceholderName = zone;
			cmsHelper.OverrideKey(model.Root_ContentID);

			ShowSaved();

			model.Controls = (from aw in cmsHelper.cmsAdminWidget
							  where aw.PlaceholderName.ToLowerInvariant() == model.PlaceholderName.ToLowerInvariant()
									|| model.PlaceholderName.ToLowerInvariant() == "cms-all-placeholder-zones"
							  orderby aw.PlaceholderName ascending, aw.IsWidgetPendingDelete ascending, aw.IsWidgetActive descending, aw.WidgetOrder
							  select aw).ToList();

			ModelState.Clear();

			return View(model);
		}
		public ActionResult WidgetList(WidgetListModel model) {
			List<Widget> widgets = model.Controls;
			cmsHelper.OverrideKey(model.Root_ContentID);

			if (widgets != null && widgets.Any()) {
				var cacheWidget = cmsHelper.cmsAdminWidget;

				foreach (var w in widgets) {
					var ww = (from cw in cacheWidget
							  where cw.Root_WidgetID == w.Root_WidgetID
							  select cw).FirstOrDefault();

					if (w.IsWidgetActive) {
						ww.IsWidgetActive = true;
						ww.IsWidgetPendingDelete = false;
					} else {
						ww.IsWidgetActive = false;
					}

					if (w.IsWidgetPendingDelete) {
						ww.IsWidgetPendingDelete = true;
						ww.IsWidgetActive = false;
					} else {
						ww.IsWidgetPendingDelete = false;
					}

					ww.EditDate = SiteData.CurrentSite.Now;
				}

				cmsHelper.cmsAdminWidget = cacheWidget;

				ShowSave();
			}

			model.Controls = (from aw in cmsHelper.cmsAdminWidget
							  where aw.PlaceholderName.ToLower() == model.PlaceholderName.ToLower() || model.PlaceholderName.ToLower() == "cms-all-placeholder-zones"
							  orderby aw.PlaceholderName ascending, aw.IsWidgetPendingDelete ascending, aw.IsWidgetActive descending, aw.WidgetOrder
							  select aw).ToList();

			ModelState.Clear();

			return View(model);
		}
		public ActionResult WidgetList(Guid id, string zone, bool? saved) {
			WidgetListModel model = new WidgetListModel();
			model.Root_ContentID = id;
			model.PlaceholderName = zone;

			if (saved.HasValue && saved.Value) {
				ShowSave();
			}

			return WidgetList(model);
		}
		public ActionResult PageWidgets(Guid id, bool? saved) {
			WidgetListModel model = new WidgetListModel(id);
			model.PlaceholderName = String.Empty;

			if (saved.HasValue && saved.Value) {
				ShowSave();
			}

			return PageWidgets(model);
		}