示例#1
0
 /// <exclude />
 public static void OnBeforeInitialize()
 {
     DataActionTokenResolverFacade.RegisterDefault <IPage>(ActionIdentifier.Add, f => new WorkflowActionToken(WorkflowFacade.GetWorkflowType("Composite.Plugins.Elements.ElementProviders.PageElementProvider.AddNewPageWorkflow"))
     {
         DoIgnoreEntityTokenLocking = true, Payload = SerializerHandlerFacade.Serialize(f)
     });
     DataActionTokenResolverFacade.RegisterDefault <IPage>(ActionIdentifier.Edit, f => new WorkflowActionToken(WorkflowFacade.GetWorkflowType("Composite.Plugins.Elements.ElementProviders.PageElementProvider.EditPageWorkflow")));
     DataActionTokenResolverFacade.RegisterDefault <IPage>(ActionIdentifier.Delete, f => new WorkflowActionToken(WorkflowFacade.GetWorkflowType("Composite.Plugins.Elements.ElementProviders.PageElementProvider.DeletePageWorkflow")));
 }
示例#2
0
        private Guid?GetDefaultPageTypeId(ICollection <IPageType> selectablePageTypes)
        {
            if (!string.IsNullOrEmpty(Payload))
            {
                return(((IPage)SerializerHandlerFacade.Deserialize(Payload)).PageTypeId);
            }

            if (!(this.EntityToken is PageElementProviderEntityToken))
            {
                IPage parentPage = this.GetDataItemFromEntityToken <IPage>();

                IPageType parentPageType = DataFacade.GetData <IPageType>().FirstOrDefault(f => f.Id == parentPage.PageTypeId);

                if (parentPageType != null && parentPageType.DefaultChildPageType != Guid.Empty)
                {
                    if (selectablePageTypes.Any(f => f.Id == parentPageType.DefaultChildPageType))
                    {
                        return(parentPageType.DefaultChildPageType);
                    }
                }
            }

            return(selectablePageTypes.FirstOrDefault()?.Id);
        }