public override int Delete(params object[] primaryKeys) { LayoutEntity layout = Get(primaryKeys); var layoutHtmlService = new LayoutHtmlService(); layoutHtmlService.Delete(new Data.DataFilter().Where <LayoutHtml>(m => m.LayoutId, OperatorType.Equal, layout.ID)); var zoneService = new ZoneService(); zoneService.Delete(new Data.DataFilter().Where <ZoneEntity>(m => m.LayoutId, OperatorType.Equal, layout.ID)); var pageService = new Page.PageService(); pageService.Delete(new DataFilter().Where("LayoutId", OperatorType.Equal, layout.ID)); var widgetService = new WidgetService(); var widgets = widgetService.Get(new DataFilter().Where("LayoutId", OperatorType.Equal, layout.ID)); widgets.Each(m => { m.CreateServiceInstance().DeleteWidget(m.ID); }); Signal.Trigger(LayoutChanged); return(base.Delete(primaryKeys)); }
public void UpdateDesign(LayoutEntity item) { this.Update(item, new Data.DataFilter(new List <string> { "ContainerClass" }).Where("ID", OperatorType.Equal, item.ID)); if (item.Zones != null) { var zones = ZoneService.Get(m => m.LayoutId == item.ID); item.Zones.Where(m => zones.All(n => n.ID != m.ID)).Each(m => { m.LayoutId = item.ID; ZoneService.Add(m); }); item.Zones.Where(m => zones.Any(n => n.ID == m.ID)).Each(m => { m.LayoutId = item.ID; ZoneService.Update(m); }); zones.Where(m => item.Zones.All(n => n.ID != m.ID)).Each(m => ZoneService.Delete(m.ID)); } if (item.Html != null) { var layoutHtmlService = new LayoutHtmlService(); layoutHtmlService.Delete(m => m.LayoutId == item.ID); item.Html.Each(m => { m.LayoutId = item.ID; layoutHtmlService.Add(m); }); } }
public override int Delete(Data.DataFilter filter) { var deletes = this.Get(filter).ToList(m => m.ID); if (deletes.Any()) { var layoutHtmlService = new LayoutHtmlService(); layoutHtmlService.Delete(new Data.DataFilter().Where <LayoutHtml>(m => m.LayoutId, OperatorType.In, deletes)); var zoneService = new ZoneService(); zoneService.Delete(new Data.DataFilter().Where <ZoneEntity>(m => m.LayoutId, OperatorType.In, deletes)); var pageService = new Page.PageService(); pageService.Delete(new Data.DataFilter().Where("LayoutId", OperatorType.In, deletes)); var widgetService = new Widget.WidgetService(); var widgets = widgetService.Get(new Data.DataFilter().Where("LayoutId", OperatorType.In, deletes)); widgets.Each(m => { m.CreateServiceInstance().DeleteWidget(m.ID); }); } Signal.Trigger(LayoutChanged); return(base.Delete(filter)); }
public override LayoutEntity Get(params object[] primaryKeys) { var cache = new StaticCache(); return(cache.Get("Layout_" + primaryKeys[0], m => { m.When(LayoutChanged); LayoutEntity entity = base.Get(primaryKeys); if (entity == null) { return null; } IEnumerable <ZoneEntity> zones = new ZoneService().Get(new Data.DataFilter().Where("LayoutId", OperatorType.Equal, entity.ID)); entity.Zones = new ZoneCollection(); zones.Each(entity.Zones.Add); IEnumerable <LayoutHtml> htmls = new LayoutHtmlService().Get(new Data.DataFilter().OrderBy("LayoutHtmlId", OrderType.Ascending).Where("LayoutId", OperatorType.Equal, entity.ID)); entity.Html = new LayoutHtmlCollection(); htmls.Each(entity.Html.Add); return entity; })); }
public override void Add(LayoutEntity item) { item.ID = Guid.NewGuid().ToString("N"); base.Add(item); if (item.Zones != null) { item.Zones.Each(m => { m.LayoutId = item.ID; ZoneService.Add(m); }); } if (item.Html != null) { LayoutHtmlService layoutHtmlService = new LayoutHtmlService(); item.Html.Each(m => { m.LayoutId = item.ID; layoutHtmlService.Add(m); }); } }
public override LayoutEntity Get(params object[] primaryKeys) { var cache = new StaticCache(); var layout = cache.Get((ApplicationContext as CMSApplicationContext).RequestUrl.Host + "_Layout_" + primaryKeys[0], m => { m.When(LayoutChanged); LayoutEntity entity = base.Get(primaryKeys); if (entity == null) { return(null); } IEnumerable <ZoneEntity> zones = ZoneService.Get(new Data.DataFilter().Where("LayoutId", OperatorType.Equal, entity.ID)); entity.Zones = new ZoneCollection(); zones.Each(entity.Zones.Add); IEnumerable <LayoutHtml> htmls = new LayoutHtmlService().Get(new Data.DataFilter().OrderBy("LayoutHtmlId", OrderType.Ascending).Where("LayoutId", OperatorType.Equal, entity.ID)); entity.Html = new LayoutHtmlCollection(); htmls.Each(entity.Html.Add); return(entity); }); layout.Page = null; return(layout); }
public override int Delete(params object[] primaryKeys) { LayoutEntity layout = Get(primaryKeys); if (layout != null) { var layoutHtmlService = new LayoutHtmlService(); layoutHtmlService.Delete(m => m.LayoutId == layout.ID); ZoneService.Delete(new DataFilter().Where("LayoutId", OperatorType.Equal, layout.ID)); PageService.Delete(new DataFilter().Where("LayoutId", OperatorType.Equal, layout.ID)); var widgets = WidgetService.Get(new DataFilter().Where("LayoutId", OperatorType.Equal, layout.ID)); widgets.Each(m => { m.CreateServiceInstance().DeleteWidget(m.ID); }); MarkChanged(layout.ID); } return(base.Delete(primaryKeys)); }
public override int Delete(DataFilter filter) { var deletes = Get(filter).ToList(m => m.ID); if (deletes.Any()) { var layoutHtmlService = new LayoutHtmlService(); layoutHtmlService.Delete(new DataFilter().Where("LayoutId", OperatorType.In, deletes)); ZoneService.Delete(new DataFilter().Where("LayoutId", OperatorType.In, deletes)); PageService.Delete(new DataFilter().Where("LayoutId", OperatorType.In, deletes)); var widgets = WidgetService.Get(new DataFilter().Where("LayoutId", OperatorType.In, deletes)); widgets.Each(m => { m.CreateServiceInstance().DeleteWidget(m.ID); }); deletes.Each(MarkChanged); } return(base.Delete(filter)); }
public override LayoutEntity Get(params object[] primaryKeys) { var layout = DataArchivedService.Get(GenerateKey(primaryKeys[0]), () => { LayoutEntity entity = base.Get(primaryKeys); if (entity == null) { return(null); } IEnumerable <ZoneEntity> zones = ZoneService.Get(new DataFilter().Where("LayoutId", OperatorType.Equal, entity.ID)); entity.Zones = new ZoneCollection(); zones.Each(entity.Zones.Add); IEnumerable <LayoutHtml> htmls = new LayoutHtmlService().Get( new DataFilter().OrderBy("LayoutHtmlId", OrderType.Ascending) .Where("LayoutId", OperatorType.Equal, entity.ID)); entity.Html = new LayoutHtmlCollection(); htmls.Each(entity.Html.Add); return(entity); }); return(layout); }