public Guid UpdateOrCreateContentGroup(ContentGroup contentGroup, int templateId) { var appMan = new AppManager(_zoneId, _appId, Log); if (!contentGroup.Exists) { Log.Add($"doesn't exist, will creat new CG with template#{templateId}"); return(appMan.Entities.Create(ContentGroupTypeName, new Dictionary <string, object> { { "Template", new List <int> { templateId } }, { AppConstants.Content, new List <int>() }, { AppConstants.Presentation, new List <int>() }, { AppConstants.ListContent, new List <int>() }, { AppConstants.ListPresentation, new List <int>() } }).Item2); // new guid } else { Log.Add($"exists, create for group#{contentGroup.ContentGroupGuid} with template#{templateId}"); appMan.Entities.UpdateParts(contentGroup._contentGroupEntity.EntityId, new Dictionary <string, object> { { "Template", new List <int?> { templateId } } }); return(contentGroup.ContentGroupGuid); // guid didn't change } }
public Guid UpdateOrCreateContentGroup(ContentGroup contentGroup, int templateId) { if (!contentGroup.Exists) { return(CreateNewContentGroup(templateId)); } contentGroup.UpdateTemplate(templateId); return(contentGroup.ContentGroupGuid); }
private IEnumerable <Template> GetCompatibleTemplates(ContentGroup contentGroup) { var isList = contentGroup.Content.Count > 1; var compatibleTemplates = GetAllTemplates().Where(t => t.UseForList || !isList); compatibleTemplates = compatibleTemplates .Where(t => contentGroup.Content.All(c => c == null) || contentGroup.Content.First(e => e != null).Type.StaticName == t.ContentTypeStaticName) .Where(t => contentGroup.Presentation.All(c => c == null) || contentGroup.Presentation.First(e => e != null).Type.StaticName == t.PresentationTypeStaticName) .Where(t => contentGroup.ListContent.All(c => c == null) || contentGroup.ListContent.First(e => e != null).Type.StaticName == t.ListContentTypeStaticName) .Where(t => contentGroup.ListPresentation.All(c => c == null) || contentGroup.ListPresentation.First(e => e != null).Type.StaticName == t.ListPresentationTypeStaticName); return(compatibleTemplates); }
// 2016-09-08 2dm - changed to deliver hidden as well, because of https://github.com/2sic/2sxc/issues/831 internal IEnumerable <Template> GetAvailableTemplates(ContentGroup contentGroup) { IEnumerable <Template> availableTemplates; var items = contentGroup.Content; if (items.Any(e => e != null)) { availableTemplates = GetCompatibleTemplates(contentGroup); //.Where(p => !p.IsHidden); } else if (items.Count <= 1) { availableTemplates = GetAllTemplates(); // GetVisibleTemplates(); } else { availableTemplates = GetAllTemplates() /* GetVisibleTemplates() */.Where(p => p.UseForList); } return(availableTemplates); }
public Guid UpdateOrCreateContentGroup(ContentGroup contentGroup, int templateId) { if (!contentGroup.Exists) return CreateNewContentGroup(templateId); contentGroup.UpdateTemplate(templateId); return contentGroup.ContentGroupGuid; }
private IEnumerable<Template> GetCompatibleTemplates(ContentGroup contentGroup) { var isList = contentGroup.Content.Count > 1; var compatibleTemplates = Templates.GetAllTemplates().Where(t => t.UseForList || !isList); compatibleTemplates = compatibleTemplates .Where(t => contentGroup.Content.All(c => c == null) || contentGroup.Content.First(e => e != null).Type.StaticName == t.ContentTypeStaticName) .Where(t => contentGroup.Presentation.All(c => c == null) || contentGroup.Presentation.First(e => e != null).Type.StaticName == t.PresentationTypeStaticName) .Where(t => contentGroup.ListContent.All(c => c == null) || contentGroup.ListContent.First(e => e != null).Type.StaticName == t.ListContentTypeStaticName) .Where(t => contentGroup.ListPresentation.All(c => c == null) || contentGroup.ListPresentation.First(e => e != null).Type.StaticName == t.ListPresentationTypeStaticName); return compatibleTemplates; }
protected void grdEntities_RowDrop(object sender, GridDragDropEventArgs e) { if (e.DestDataItem == null) return; var sortOrder = (int)e.DraggedItems[0].GetDataKeyValue("SortOrder"); var destinationSortOrder = (int) e.DestDataItem.GetDataKeyValue("SortOrder"); ContentGroup.ReorderEntities(sortOrder, destinationSortOrder); // Refresh cached contentgroup _contentGroup = null; grdEntities.Rebind(); grdEntities.Items[destinationSortOrder].Selected = true; }
// 2016-09-08 2dm - changed to deliver hidden as well, because of https://github.com/2sic/2sxc/issues/831 internal IEnumerable<Template> GetAvailableTemplates(ContentGroup contentGroup) { IEnumerable<Template> availableTemplates; var items = contentGroup.Content; if (items.Any(e => e != null)) availableTemplates = GetCompatibleTemplates(contentGroup); //.Where(p => !p.IsHidden); else if (items.Count <= 1) availableTemplates = GetAllTemplates(); // GetVisibleTemplates(); else availableTemplates = GetAllTemplates() /* GetVisibleTemplates() */.Where(p => p.UseForList); return availableTemplates; }