public void UpdateDesign(LayoutEntity item) { CurrentDbSet.Attach(item); DbContext.Entry(item).Property(m => m.ContainerClass).IsModified = true; DbContext.SaveChanges(); 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.Remove(m.ID)); } if (item.Html != null) { LayoutHtmlService.Remove(m => m.LayoutId == item.ID); item.Html.Each(m => { m.LayoutId = item.ID; LayoutHtmlService.Add(m); }); } }
public override ServiceResult <LayoutEntity> Add(LayoutEntity item) { item.ID = Guid.NewGuid().ToString("N"); var result = base.Add(item); if (result.HasViolation) { return(result); } if (item.Zones != null) { item.Zones.Each(m => { m.LayoutId = item.ID; ZoneService.Add(m); }); } if (item.Html != null) { item.Html.Each(m => { m.LayoutId = item.ID; LayoutHtmlService.Add(m); }); } return(result); }
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) { item.Html.Each(m => { m.LayoutId = item.ID; LayoutHtmlService.Add(m); }); } }