示例#1
0
        /// <summary>
        /// Reads the giving directory and populates the node with folders/files structure
        /// </summary>
        /// <param name="hostNode"></param>
        /// <param name="folderPath"></param>
        internal static void LoadModuleFilesFromLocalFolder(ModelNode hostNode, string folderPath)
        {
            var files = Directory.GetFiles(folderPath);
            var folders = Directory.GetDirectories(folderPath);

            foreach (var file in files)
            {
                hostNode.AddDefinitionNode(new ModuleFileDefinition
                {
                    Content = File.ReadAllBytes(file),
                    FileName = Path.GetFileName(file),
                    Overwrite = true
                });
            }

            foreach (var subFolder in folders)
            {
                var subFolderPath = subFolder;

                var folderDef = new FolderDefinition
                {
                    Name = Path.GetFileName(subFolderPath)
                };

                hostNode.AddDefinitionNode(folderDef, folderNode => LoadModuleFilesFromLocalFolder(folderNode, subFolderPath));
            }
        }
 protected override void GenerateNodesCore(ModelNode node)
 {
     if (!Debugger.IsAttached || !AurumMenuModule.GenerateDefaultMenus)
     {
         return;
     }
     IModelMenus modelMenus = (IModelMenus)node;
     IModelGroups groups = node.Root.Application.Aurum().AurumLists().Groups;
     foreach (IModelNavigationItem current in ((IModelApplicationNavigationItems)node.Root.Application).NavigationItems.Items)
     {
         if (modelMenus.GetNode(current.Id) == null)
         {
             IModelMenu modelMenu = modelMenus.AddNode<IModelMenu>(current.Id);
             modelMenu.Caption = current.Caption;
             modelMenu.Group = groups["Admin"];
             foreach (IModelNavigationItem current2 in current.Items)
             {
                 if (current2.Visible)
                 {
                     IModelMenuViewItem modelMenuViewItem = modelMenu.AddNode<IModelMenuViewItem>(current2.Id);
                     modelMenuViewItem.View = current2.View;
                     modelMenuViewItem.ImageName = current2.ImageName;
                     modelMenuViewItem.ObjectKey = current2.ObjectKey;
                 }
             }
         }
     }
 }
示例#3
0
 public FileDeployer(ModelNode site, ModelNode web, ListDefinition rootNode, string sourcePath)
 {
     Site       = site;
     Web        = web;
     RootNode   = rootNode;
     SourcePath = sourcePath;
 }
        public override void RetractModel(ModelHostBase modelHost, ModelNode model)
        {
            if (!(modelHost is SSOMModelHostBase))
                throw new ArgumentException("model host for SSOM needs to be inherited from SSOMModelHostBase.");

            base.RetractModel(modelHost, model);
        }
        protected void GenerateTermsTree(ModelNode termSetOrTermNode, int deep, bool cleanGuid)
        {
            if (deep == 0)
                return;

            if (termSetOrTermNode is TaxonomyTermModelNode)
            {
                (termSetOrTermNode as TaxonomyTermModelNode).AddRandomTerm(term =>
                 {
                     var termDef = term.Value as TaxonomyTermDefinition;
                     termDef.Name = string.Format("InvertedLevel_{0}_{1}", deep, termDef.Name);

                     if (cleanGuid)
                         termDef.Id = null;

                     GenerateTermsTree(term, --deep, cleanGuid);
                 });
            }
            else if (termSetOrTermNode is TaxonomyTermSetModelNode)
            {
                (termSetOrTermNode as TaxonomyTermSetModelNode).AddRandomTerm(term =>
                {
                    var termDef = term.Value as TaxonomyTermDefinition;
                    termDef.Name = string.Format("InvertedLevel_{0}_{1}", deep, termDef.Name);

                    if (cleanGuid)
                        termDef.Id = null;

                    GenerateTermsTree(term, --deep, cleanGuid);
                });
            }


        }
        public override void DeployModel(ModelHostBase modelHost, ModelNode model)
        {
            if (!(modelHost is CSOMModelHostBase))
                throw new ArgumentException("model host for CSOM needs to be inherited from CSOMModelHostBase");

            base.DeployModel(modelHost, model);
        }
示例#7
0
文件: Model.cs 项目: aries544/eXpand
 public object Calculate(ModelNode node, string propertyName) {
     var modelClass = ((IModelObjectView)node.Parent).ModelClass;
     var friendlyKeyProperty = modelClass.FriendlyKeyProperty;
     return friendlyKeyProperty != null
                ? modelClass.FindMember(friendlyKeyProperty).Name
                : (modelClass.KeyProperty != null ? modelClass.FindMember(modelClass.KeyProperty).Name : null);
 }
 protected override void GenerateNodesCore(ModelNode node) {
     node.AddNode<IModelFilterDataStoreSystemTable>("SecurityRole");
     node.AddNode<IModelFilterDataStoreSystemTable>("SecurityUser");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyBag");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyBagDescriptor");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyDescriptor");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyDescriptorPropertyDescriptors_PropertyBagDescriptorPropertyBags");
     node.AddNode<IModelFilterDataStoreSystemTable>("PropertyValue");
     node.AddNode<IModelFilterDataStoreSystemTable>("ServerPrefix");
     node.AddNode<IModelFilterDataStoreSystemTable>("XpoSequencer");
     node.AddNode<IModelFilterDataStoreSystemTable>("XpoServerId");
     node.AddNode<IModelFilterDataStoreSystemTable>("AuditDataItemPersistent");
     node.AddNode<IModelFilterDataStoreSystemTable>("AuditedObjectWeakReference");
     node.AddNode<IModelFilterDataStoreSystemTable>("XPWeakReference");
     node.AddNode<IModelFilterDataStoreSystemTable>("ModuleInfo");
     node.AddNode<IModelFilterDataStoreSystemTable>("User");
     node.AddNode<IModelFilterDataStoreSystemTable>("SimpleUser");
     node.AddNode<IModelFilterDataStoreSystemTable>("Party");
     node.AddNode<IModelFilterDataStoreSystemTable>("Person");
     node.AddNode<IModelFilterDataStoreSystemTable>("Role");
     node.AddNode<IModelFilterDataStoreSystemTable>("RoleBase");
     node.AddNode<IModelFilterDataStoreSystemTable>("PersistentPermission");
     node.AddNode<IModelFilterDataStoreSystemTable>("UserUsers_RoleRoles");
     node.AddNode<IModelFilterDataStoreSystemTable>("XPObjectType");
     node.AddNode<IModelFilterDataStoreSystemTable>("ModelDifferenceObject");
     node.AddNode<IModelFilterDataStoreSystemTable>("AspectObject");
     node.AddNode<IModelFilterDataStoreSystemTable>("PersistentApplication");
     node.AddNode<IModelFilterDataStoreSystemTable>("RoleModelDifferenceObject");
     node.AddNode<IModelFilterDataStoreSystemTable>("UserModelDifferenceObject");
     node.AddNode<IModelFilterDataStoreSystemTable>("RoleRoles_RoleModelDifferenceObjectRoleModelDifferenceObjects");
     node.AddNode<IModelFilterDataStoreSystemTable>("UserUsers_UserModelDifferenceObjectUserModelDifferenceObjects");
 }
示例#9
0
 void NewModel_Click(object sender, EventArgs args)
 {
     ModelNode child = new ModelNode();
     child.Text = child.Name = Guid.NewGuid().ToString();
     child.ModelType = ModelNode.SourceType.FromCustom;
     this.Children.Add(child);
 }
        public override ModelProvisionCompatibilityResult CheckProvisionCompatibility(ModelNode model)
        {
            var result = new ModelProvisionCompatibilityResult
            {
                Model = model
            };

            var modelNodes = model.Flatten();
            var rootNode = model;

            foreach (var modelNode in modelNodes)
            {
                var def = modelNode.Value;
                var defType = def.GetType();

                var defResult = new ModelProvisionCompatibilityResultValue();
                var attrs = (SPObjectTypeAttribute[])defType
                                .GetCustomAttributes(typeof(SPObjectTypeAttribute), true);

                defResult.ModelNode = modelNode;
                defResult.Definition = def;

                if (attrs.Length > 0)
                {
                    defResult.IsCSOMCompatible = attrs.Any(a => a.ObjectModelType == SPObjectModelType.CSOM);
                    defResult.IsSSOMCompatible = attrs.Any(a => a.ObjectModelType == SPObjectModelType.SSOM);
                }

                // temporary fix for SiteDefinition, it cannot be yet provisioned with M2 CSOM
                if (def.GetType() == typeof(SiteDefinition))
                {
                    if (modelNode.Options.RequireSelfProcessing)
                    {
                        // that's farm / web model or an attempt to provision a new site w/ M2
                        defResult.IsCSOMCompatible = false;
                    }
                    else
                    {
                        // SiteModel, all valid
                        defResult.IsCSOMCompatible = true;
                    }
                }

                // fixing up root definitions
                // farm and web app model cannot be provisioned with M2
                if (modelNode == rootNode)
                {
                    if (defType == typeof(FarmDefinition)
                        || defType == typeof(WebApplicationDefinition))
                    {
                        defResult.IsCSOMCompatible = false;
                    }
                }

                result.Result.Add(defResult);
            }

            return result;
        }
 protected void DeploySiteModelAsSSOM(ModelNode model)
 {
     using (var site = new SPSite(SampleConsts.SSOM_SiteUrl))
     {
         var ssomProvisionService = new SSOMProvisionService();
         ssomProvisionService.DeployModel(SPMeta2.SSOM.ModelHosts.SiteModelHost.FromSite(site), model);
     }
 }
示例#12
0
 public override void DeployWebModel(ModelNode model)
 {
     WithSSOMContext((site, web) =>
     {
         _provisionService.DeployModel(WebModelHost.FromWeb(web), model);
         _validationService.DeployModel(WebModelHost.FromWeb(web), model);
     });
 }
 protected void DeployWebModelAsCSOM(ModelNode model)
 {
     using (var clientContext = new ClientContext(SampleConsts.CSOM_SiteUrl))
     {
         var csomProvisionService = new CSOMProvisionService();
         csomProvisionService.DeployModel(SPMeta2.CSOM.ModelHosts.WebModelHost.FromClientContext(clientContext), model);
     }
 }
        public static void DeployListModel(this SSOMProvisionService modelHost, SPList list, ModelNode model)
        {
            var listHost = ModelHostBase.Inherit<ListModelHost>(WebModelHost.FromWeb(list.ParentWeb), h =>
            {
                h.HostList = list;
            });

            modelHost.DeployModel(listHost, model);
        }
 public override void Validate(ModelNode model, List<ValidationResult> result)
 {
     ValidateAllowedTypes<ContentTypeDefinition>(model,
         new[]
         {
             typeof (ContentTypeFieldLinkDefinition),
             typeof (FolderDefinition)
         }, result);
 }
 public override void DeployModel(ModelHostBase modelHost, ModelNode model)
 {
     // before model provision
     if (IsRegisteredModel(model))
     {
         AttachToOnProvisionedEvents(model);
         CalculateIncrementalModel(model);
     }
 }
示例#17
0
        /// <summary>
        /// Creates a new instance of the ModelNode adding site model provided.
        /// If RequireSelfProcessing set as 'true', then site model is going to be processed and pushed by SPMeta2 API.
        /// Use action to get access to the "site model node" and construct model tree.
        /// </summary>
        /// <param name="siteDefinition"></param>
        /// <param name="action"></param>
        /// <returns></returns>
        public static ModelNode NewSiteModel(SiteDefinition siteDefinition, Action<ModelNode> action)
        {
            var newModelNode = new ModelNode { Value = siteDefinition ?? new SiteDefinition { RequireSelfProcessing = false } };

            if (action != null)
                action(newModelNode);

            return newModelNode;
        }
 public override void Validate(ModelNode model, List<ValidationResult> result)
 {
     ValidateAllowedTypes<FolderDefinition>(model,
         new[]
         {
             typeof (FolderDefinition),
             typeof (ListItemDefinition),
             typeof (SecurityGroupLinkDefinition)
         }, result);
 }
        public override string PrintModel(ModelNode modelNode)
        {
            var result = new StringBuilder();

            result.AppendFormat("{0}{1}", GetDefinitionValue(modelNode), NewLineString);

            WalkModelNodes(modelNode, result, IndentString);

            return result.ToString();
        }
示例#20
0
 private void ReadFromResource(ModelNode rootNode, string resourceName, string aspect){
     var resourceLoadedArgs = new ResourceLoadedArgs(resourceName);
     OnResourceLoading(resourceLoadedArgs);
     if (!(resourceLoadedArgs.Cancel)){
         if (resourceLoadedArgs.Model != null)
             rootNode = resourceLoadedArgs.Model;
         new ModelXmlReader().ReadFromResource(rootNode, aspect, _assembly, resourceName);
         OnResourceLoaded(resourceLoadedArgs);
     }
 }
        protected virtual string GetDefinitionShape(ModelNode modelNode)
        {
            var result = modelNode.Value != null
                        ? string.Format(ModelNodeTemplate,
                                        HashCodeService.GetHashCode(modelNode.Value).Replace("=", string.Empty),
                                        string.Format("[{0}] - {1}", modelNode.Value.GetType().Name, modelNode.Value))
                       : string.Empty;

            return result;
        }
 public override void Validate(ModelNode model, List<ValidationResult> result)
 {
     ValidateAllowedTypes<WebDefinition>(model,
         new[]
         {
             typeof (FeatureDefinition),
             typeof (ListDefinition),
             typeof (QuickLaunchNavigationNodeDefinition)
         }, result);
 }
示例#23
0
        public override void DeployWebModel(ModelNode model)
        {
            WithO365Context(context =>
            {
                _provisionService.DeployModel(WebModelHost.FromClientContext(context), model);

                if (EnableDefinitionValidation)
                    _validationService.DeployModel(WebModelHost.FromClientContext(context), model);
            });
        }
        private void ValidateModelNode(ModelNode modelNode, List<ValidationResult> result)
        {
            var modelDefinition = modelNode.Value;

            foreach (var v in DefinitionValidators)
                v.Validate(modelNode.Value, result);

            foreach (var v in RelationshipValidators)
                v.Validate(modelNode, result);
        }
        private void InitNodes(TreeNodeCollection treeNodeCollection, ModelNode modelNode)
        {
            var nodeValue = modelNode.Value;

            var newTreeNode = treeNodeCollection.Add(nodeValue == null
                ? "NULL"
                : string.Format("{0} - {1}", nodeValue.GetType().Name, nodeValue));

            foreach (var childNode in modelNode.ChildModels)
                InitNodes(newTreeNode.Nodes, childNode);
        }
        public static ModelNode AddField(this ModelNode model, FieldDefinition fieldDefinition, Action<ModelNode> action)
        {
            var defModel = new ModelNode { Value = fieldDefinition };

            model.ChildModels.Add(defModel);

            if (action != null)
                action(defModel);

            return model;
        }
 protected void DeployWebModelAsSSOM(ModelNode model)
 {
     using (var site = new SPSite(SampleConsts.SSOM_SiteUrl))
     {
         using (var web = site.OpenWeb())
         {
             var ssomProvisionService = new SSOMProvisionService();
             ssomProvisionService.DeployModel(SPMeta2.SSOM.ModelHosts.WebModelHost.FromWeb(web), model);
         }
     }
 }
        public void RegisterModel(string key, ModelNode model)
        {


            // save internally

            // try to restore
            // found - make 'diff' AddHost marks

            // attach to events, save per every provision end event
        }
        public RecursiveDescent(List<Lexeme> lexemes)
        {
            stream = lexemes.GetEnumerator();

            read();

            RootNode = new ModelNode();
            statementList(RootNode);

            print(RootNode);
        }
        protected override void GenerateNodesCore(ModelNode node) {

            foreach (var modelClass in node.Application.BOModel.Where(@class => @class.TypeInfo.IsInterface)) {
                node.AddNode<IModelFilterDataStoreSystemTable>(modelClass.Name);
            }
            node.AddNode<IModelFilterDataStoreSystemTable>("DCRuntimeCalcMember");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecurityRole");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecurityUser");
            node.AddNode<IModelFilterDataStoreSystemTable>("PropertyBag");
            node.AddNode<IModelFilterDataStoreSystemTable>("PropertyBagDescriptor");
            node.AddNode<IModelFilterDataStoreSystemTable>("PropertyDescriptor");
            node.AddNode<IModelFilterDataStoreSystemTable>("PropertyDescriptorPropertyDescriptors_PropertyBagDescriptorPropertyBags");
            node.AddNode<IModelFilterDataStoreSystemTable>("PropertyValue");
            node.AddNode<IModelFilterDataStoreSystemTable>("ServerPrefix");
            node.AddNode<IModelFilterDataStoreSystemTable>("XpoSequencer");
            node.AddNode<IModelFilterDataStoreSystemTable>("XpoServerId");
            node.AddNode<IModelFilterDataStoreSystemTable>("AuditDataItemPersistent");
            node.AddNode<IModelFilterDataStoreSystemTable>("AuditedObjectWeakReference");
            node.AddNode<IModelFilterDataStoreSystemTable>("XPWeakReference");
            node.AddNode<IModelFilterDataStoreSystemTable>("ModuleInfo");
            node.AddNode<IModelFilterDataStoreSystemTable>("User");
            node.AddNode<IModelFilterDataStoreSystemTable>("SimpleUser");
            node.AddNode<IModelFilterDataStoreSystemTable>("Party");
            node.AddNode<IModelFilterDataStoreSystemTable>("Person");
            node.AddNode<IModelFilterDataStoreSystemTable>("Role");
            node.AddNode<IModelFilterDataStoreSystemTable>("RoleBase");
            node.AddNode<IModelFilterDataStoreSystemTable>("PersistentPermission");
            node.AddNode<IModelFilterDataStoreSystemTable>("UserUsers_RoleRoles");
            node.AddNode<IModelFilterDataStoreSystemTable>("XPObjectType");
            node.AddNode<IModelFilterDataStoreSystemTable>("ModelDifferenceObject");
            node.AddNode<IModelFilterDataStoreSystemTable>("AspectObject");
            node.AddNode<IModelFilterDataStoreSystemTable>("PersistentApplication");
            node.AddNode<IModelFilterDataStoreSystemTable>("RoleModelDifferenceObject");
            node.AddNode<IModelFilterDataStoreSystemTable>("UserModelDifferenceObject");
            node.AddNode<IModelFilterDataStoreSystemTable>("RoleRoles_RoleModelDifferenceObjectRoleModelDifferenceObjects");
            node.AddNode<IModelFilterDataStoreSystemTable>("UserUsers_UserModelDifferenceObjectUserModelDifferenceObjects");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecuritySystemRole");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecuritySystemRoleParentRoles_SecuritySystemRoleChildRoles");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecuritySystemTypePermissionsObject");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecuritySystemUser");
            node.AddNode<IModelFilterDataStoreSystemTable>("SecuritySystemUserUsers_SecuritySystemRoleRoles");
            node.AddNode<IModelFilterDataStoreSystemTable>("XpandPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("XpandRole");
            node.AddNode<IModelFilterDataStoreSystemTable>("ActionStateOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("AdditionalViewControlsOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("ControllerStateOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("MasterDetailOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("ModelCombineOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("PivotSettingsOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("ShowInAnalysisOperationPermissionData");
            node.AddNode<IModelFilterDataStoreSystemTable>("StateMachineTransitionOperationPermissionData");
        }
 public static ModelNode AddEventReceiver(this ModelNode model, EventReceiverDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
示例#32
0
 public DataObject(string name, ModelNode parentNode, int arrayElements)
 {
     self = DataObject_create(name, parentNode.GetLibraryObject(), arrayElements);
 }
示例#33
0
 public static DataObject CDC_SAV(string dataObjectName, ModelNode parent, CDCOptions options, bool isIntegerNotFloat)
 {
     return(new DataObject(CDC_SAV_create(dataObjectName, parent.GetLibraryObject(), (uint)options, isIntegerNotFloat)));
 }
示例#34
0
        public static void DeployListModel(this CSOMProvisionService modelHost, ClientContext context, List list, ModelNode model)
        {
            var listHost = ModelHostBase.Inherit <ListModelHost>(WebModelHost.FromClientContext(context), h =>
            {
                h.HostList = list;
            });

            modelHost.DeployModel(listHost, model);
        }
示例#35
0
 public static void DeployWebModel(this CSOMProvisionService modelHost, ClientContext context, ModelNode model)
 {
     modelHost.DeployModel(new WebModelHost(context), model);
 }
 public static ModelNode AddTaxonomyField(this ModelNode model, TaxonomyFieldDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
示例#37
0
 public static ModelNode AddHostWikiPage(this ModelNode model, WikiPageDefinition definition)
 {
     return(AddHostWikiPage(model, definition, null));
 }
示例#38
0
 public static ModelNode AddWikiPage(this ModelNode model, WikiPageDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
示例#39
0
 protected void ValidateWebPartPresenceForPage(ModelNode list, string pageName, WebPartDefinitionBase wp)
 {
     ValidateWebPartPresenceForPage(list, pageName, new[] { wp });
 }
示例#40
0
        private void AddNode(ModelNode node, ITypeInfo typeInfo)
        {
            var name = GetName(typeInfo);

            node.AddNode(name, typeInfo.Type);
        }
示例#41
0
 public static ModelNode AddRemoveContentTypeLinks(this ModelNode model, RemoveContentTypeLinksDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
示例#42
0
        public override void UpdateNode(ModelNode node)
        {
            IModelListViewFilters filtersNode = (IModelListViewFilters)node;

            #region CustomerFilters
            if (((IModelListView)filtersNode.Parent).ModelClass.TypeInfo.Type ==
                typeof(Customer))
            {
                bool flag = ((SecuritySystemUser)SecuritySystem.CurrentUser).IsUserInRole("SalesMGR") || ((SecuritySystemUser)SecuritySystem.CurrentUser).IsUserInRole("Administrators");
                if (flag)
                {
                    IModelListViewFilterItem myFilter = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter");
                    myFilter.Criteria    = "";
                    myFilter.Index       = 99;
                    myFilter.ToolTip     = "All Customers will take longer";
                    myFilter.Caption     = "All";
                    myFilter.Description = "All";
                    IModelListViewFilterItem myFilter1 = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter1");

                    myFilter1.Criteria    = "[LastInvoiceDate] >=  ADDDAYS(LocalDateTimeToday(), -30) ";
                    myFilter1.Index       = 98;
                    myFilter1.ToolTip     = "All Customers who Purchase In 30 Days  will take longer";
                    myFilter1.Caption     = "All Customers who Purchase In 30 Days ";
                    myFilter1.Description = "All Customers who Purchase In 30 Days ";

                    IModelListViewFilterItem myFilter2 = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter2");
                    myFilter2.Criteria    = "[LastInvoiceDate] >=  ADDDAYS(LocalDateTimeToday(), -60) ";
                    myFilter2.Index       = 98;
                    myFilter2.ToolTip     = "All Customers who Purchase In 60 Days  will take longer";
                    myFilter2.Caption     = "All Customers who Purchase In 60 Days ";
                    myFilter2.Description = "All Customers who Purchase In 60 Days ";

                    //filtersNode.CurrentFilter = myFilter;
                }
            }
            #endregion
            #region Customer Notes
            if (((IModelListView)filtersNode.Parent).ModelClass.TypeInfo.Type == typeof(CustomerNote))
            {
                bool flag = ((SecuritySystemUser)SecuritySystem.CurrentUser).IsUserInRole("SalesMGR") || ((SecuritySystemUser)SecuritySystem.CurrentUser).IsUserInRole("Administrators");
                if (flag)
                {
                    IModelListViewFilterItem myFilter = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter");
                    myFilter.Criteria    = "";
                    myFilter.Index       = 99;
                    myFilter.ToolTip     = "All Notes will take longer";
                    myFilter.Caption     = "All";
                    myFilter.Description = "All";

                    IModelListViewFilterItem myFilter1 = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter1");
                    myFilter1.Criteria    = "[NoteDate] >  ADDDAYS(LocalDateTimeToday(), -365)  ";
                    myFilter1.Index       = 98;
                    myFilter1.ToolTip     = "All Notes for the past 365 days";
                    myFilter1.Caption     = "All Notes for the past 365 days";
                    myFilter1.Description = "All Notes for the past 365 days";
                    //filtersNode.CurrentFilter = myFilter;
                }
            }
            #endregion
            #region Customer cdr


            if (((IModelListView)filtersNode.Parent).ModelClass.TypeInfo.Type == typeof(CustomerCDR))
            {
                bool flag = ((SecuritySystemUser)SecuritySystem.CurrentUser).IsUserInRole("CDRMgr") || ((SecuritySystemUser)SecuritySystem.CurrentUser).IsUserInRole("Administrators");
                if (flag)
                {
                    IModelListViewFilterItem myFilter = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter");
                    myFilter.Criteria    = "";
                    myFilter.Index       = 99;
                    myFilter.ToolTip     = "All Notes will take longer";
                    myFilter.Caption     = "All";
                    myFilter.Description = "All";

                    IModelListViewFilterItem myFilter1 = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter1");
                    myFilter1.Criteria    = "[CallDate] = LocalDateTimeThisWeek() ";
                    myFilter1.Index       = 98;
                    myFilter1.ToolTip     = "All This Weeks Calls";
                    myFilter1.Caption     = "All This Weeks Calls";
                    myFilter1.Description = "All This Weeks Calls";


                    IModelListViewFilterItem myFilter2 = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter2");
                    myFilter2.Criteria    = "[CallDate] = LocalDateTimeToday()";
                    myFilter2.Index       = 97;
                    myFilter2.ToolTip     = "All Today's Calls";
                    myFilter2.Caption     = "All Today's Calls";
                    myFilter2.Description = "All Today's Calls";
                    //filtersNode.CurrentFilter = myFilter;
                }
            }
            #endregion

            #region Customer InvoiceHistory
            //         [ListViewFilter("Past Year", "[InvoiceDate] >  ADDDAYS(LocalDateTimeToday(), -365)", "Past Year Invoice", "Only invoices in the past year. ", false)]
            // [ListViewFilter("Last Week", "[InvoiceDate] > LocalDateTimeLastWeek() and [InvoiceDate] < LocalDateTimeThisWeek()", "Last Week", "Last Weeks Invoices. ", false)]
            // [ListViewFilter("Last Month", "[InvoiceDate] > LocalDateTimeLastMonth() and [InvoiceDate] < LocalDateTimeThisMonth()", "Last Month", "Last month Invoices. ", false)]
            // [ListViewFilter("This Week", "[InvoiceDate] > LocalDateTimeThisWeek() and [InvoiceDate] <= LocalDateTimeToday()", "This Week", "This Weeks Invoices. ", false)]
            // [ListViewFilter("This Month", "[InvoiceDate] > LocalDateTimeThisMonth() and [InvoiceDate] < LocalDateTimeNextMonth()", "This Month", "Thisd month Invoices. ", false)]

            if (((IModelListView)filtersNode.Parent).ModelClass.TypeInfo.Type == typeof(CustomerInvoiceHistory))
            {
                bool flag = ((SecuritySystemUser)SecuritySystem.CurrentUser).IsUserInRole("AllCustomerInvoices") || ((SecuritySystemUser)SecuritySystem.CurrentUser).IsUserInRole("Administrators");
                if (flag)
                {
                    IModelListViewFilterItem myFilter = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter");
                    myFilter.Criteria    = "";
                    myFilter.Index       = 99;
                    myFilter.ToolTip     = "All Invoices will take longer";
                    myFilter.Caption     = "All Invoices";
                    myFilter.Description = "All";

                    IModelListViewFilterItem myFilter1 = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter1");
                    myFilter1.Criteria    = "[InvoiceDate] >  ADDDAYS(LocalDateTimeToday(), -365)";
                    myFilter1.Index       = 97;
                    myFilter1.ToolTip     = "All Past Year";
                    myFilter1.Caption     = "All Past Year";
                    myFilter1.Description = "All Past Year Invoices";


                    IModelListViewFilterItem myFilter2 = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter2");
                    myFilter1.Criteria    = "[InvoiceDate] > LocalDateTimeThisMonth() and [InvoiceDate] < LocalDateTimeNextMonth()";
                    myFilter1.Index       = 98;
                    myFilter1.ToolTip     = "All Last Month";
                    myFilter1.Caption     = "All Last Month";
                    myFilter1.Description = "Last Month Invoices";
                }
            }
            #endregion

            #region Item Request
            // [ListViewFilter(" My Open Last 30 Day Request ", "[RequestBy] = CurrentUserName() && [RequestStatus] < 9  && [RequestDt] >=  ADDDAYS(LocalDateTimeToday(), -30)  ", " My Open last 30 days Request ", "Request I created In the last 30 days", true, Index = 0)]
            // [ListViewFilter(" My Open Last 30 Day Request ", "[RequestBy] = CurrentUserName() && [RequestStatus] < 9  && [RequestDt] >=  ADDDAYS(LocalDateTimeToday(), -90)  ", " My Open last 90 days Request ", "Request I created In the last 90 days", true, Index = 2)]
            // [ListViewFilter(" My ALL Open Request ", "[RequestBy] = CurrentUserName() && [RequestStatus] < 9  ", " My All Open Request ", "All Open Request I created", false, Index = 5)]
            // [ListViewFilter(" All ", "", " All", "All Request", false, Index = 10)]

            if (((IModelListView)filtersNode.Parent).ModelClass.TypeInfo.Type == typeof(ItemRequest))
            {
                bool flag = ((SecuritySystemUser)SecuritySystem.CurrentUser).IsUserInRole("Purchasing") || ((SecuritySystemUser)SecuritySystem.CurrentUser).IsUserInRole("Administrators");
                if (flag)
                {
                    IModelListViewFilterItem myFilter = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter");
                    myFilter.Criteria    = "";
                    myFilter.Index       = 99;
                    myFilter.ToolTip     = "All Request will take longer";
                    myFilter.Caption     = "All";
                    myFilter.Description = "All";

                    IModelListViewFilterItem myFilter1 = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter1");
                    myFilter1.Criteria    = "[RequestStatus] < 9    ";
                    myFilter1.Index       = 82;
                    myFilter1.ToolTip     = "All open request ";
                    myFilter1.Caption     = "All open request";
                    myFilter1.Description = "All open ";


                    IModelListViewFilterItem myFilter2 = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter2");
                    myFilter2.Criteria    = "[RequestStatus] < 9  && [RequestDt] >=  ADDDAYS(LocalDateTimeToday(), -30)  ";
                    myFilter2.Index       = 80;
                    myFilter2.ToolTip     = "All open request for the past 30 days";
                    myFilter2.Caption     = "All 30 day open request";
                    myFilter2.Description = "All open request for the past 30 days";
                    //filtersNode.CurrentFilter = myFilter;

                    IModelListViewFilterItem myFilter3 = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter3");
                    myFilter3.Criteria    = "[RequestStatus] < 9  && [RequestDt] >=  ADDDAYS(LocalDateTimeToday(), -60)  ";
                    myFilter3.Index       = 81;
                    myFilter3.ToolTip     = "All open request for the past 60 days";
                    myFilter3.Caption     = "All 60 day open request";
                    myFilter3.Description = "All open request for the past 60 days";
                    //filtersNode.CurrentFilter = myFilter;

                    IModelListViewFilterItem myFilter4 = filtersNode.AddNode <IModelListViewFilterItem>("MyComplexFilter4");
                    myFilter4.Criteria    = "[RequestStatus] < 9  && [RequestDt] >=  ADDDAYS(LocalDateTimeToday(), -90)  ";
                    myFilter4.Index       = 82;
                    myFilter4.ToolTip     = "All open request for the past 90 days";
                    myFilter4.Caption     = "All 90 day open request";
                    myFilter4.Description = "All open request for the past 90 days";

                    //filtersNode.CurrentFilter = myFilter;
                }
            }
            #endregion
        }
示例#43
0
 public static ModelNode AddRemoveContentTypeLinks(this ModelNode model, RemoveContentTypeLinksDefinition definition)
 {
     return(AddRemoveContentTypeLinks(model, definition, null));
 }
示例#44
0
 public override void DeployWebApplicationModel(ModelNode model)
 {
     throw new SPMeta2UnsupportedCSOMRunnerException();
 }
示例#45
0
 public DataObject(string name, ModelNode parent, int arrayElements)
 {
     self = DataObject_create(name, parent.self, arrayElements);
 }
示例#46
0
 public override void UpdateCachedNode(ModelNode node)
 {
     UpdateNodeCore(node);
 }
示例#47
0
 public DataObject(string name, ModelNode parent) : this(name, parent, 0)
 {
 }
示例#48
0
 public DataAttribute(string name, ModelNode parent, DataAttributeType type, FunctionalConstraint fc, TriggerOptions trgOps,
                      int arrayElements, UInt32 sAddr)
 {
     self = DataAttribute_create(name, parent.self, (int)type, (int)fc, (byte)trgOps, arrayElements, sAddr);
 }
示例#49
0
 public static DataObject CDC_ENG(string dataObjectName, ModelNode parent, CDCOptions options)
 {
     return(new DataObject(CDC_ENG_create(dataObjectName, parent.GetLibraryObject(), (uint)options)));
 }
 public static ModelNode AddContactFieldControl(this ModelNode model, ContactFieldControlDefinition definition)
 {
     return(AddContactFieldControl(model, definition, null));
 }
示例#51
0
 private static IEnumerable <(int index, IModelMergedDifference mergedDifference, string objectViewId)> AttributeInfos(ModelNode node, IModelApplication[] modulesDifferences)
 {
     return(node.Application.Views?
            .OfType <IModelObjectViewMergedDifferences>()
            .SelectMany(differences => differences.MergedDifferences)
            .SelectMany(mergedDifference => modulesDifferences
                        .Select((application, index) => {
         if (application.Views != null)
         {
             var modelView = application.Views[mergedDifference.View.Id];
             return modelView != null? (index: (index + 1), mergedDifference, modelView.Id): default;
         }
 public static ModelNode AddEventReceiver(this ModelNode model, EventReceiverDefinition definition)
 {
     return(AddEventReceiver(model, definition, null));
 }
 public static ModelNode AddContactFieldControl(this ModelNode model, ContactFieldControlDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
示例#54
0
 public static ModelNode AddWebConfigModification(this ModelNode model, WebConfigModificationDefinition definition)
 {
     return(AddWebConfigModification(model, definition, null));
 }
示例#55
0
 public static ModelNode AddHostRootWeb(this ModelNode model, RootWebDefinition definition)
 {
     return(AddHostRootWeb(model, definition, null));
 }
示例#56
0
 public static ModelNode AddWebConfigModification(this ModelNode model, WebConfigModificationDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNode(definition, action));
 }
 public static ModelNode AddTaxonomyField(this ModelNode model, TaxonomyFieldDefinition definition)
 {
     return(AddTaxonomyField(model, definition, null));
 }
 public static ModelNode AddGuidField(this ModelNode model, GuidFieldDefinition definition)
 {
     return(AddGuidField(model, definition, null));
 }
示例#59
0
 public static ModelNode AddHostWikiPage(this ModelNode model, WikiPageDefinition definition, Action <ModelNode> action)
 {
     return(model.AddDefinitionNodeWithOptions(definition, action, ModelNodeOptions.New().NoSelfProcessing()));
 }
示例#60
0
 private static void AddNodes <T>(ModelNode node) where T : IModelNode
 {
     node.AddNode <T>(Default);
     node.AddNode <T>(ModelMapperAttribute);
 }