public ObjectInstance ListEntityParts(object entityId)
        {
            var result = Engine.Object.Construct();

            if (entityId == Null.Value || entityId == Undefined.Value || entityId == null)
            {
                throw new JavaScriptException(Engine, "Error", "Either an entity id or an entity must be specified.");
            }

            Guid id;

            if (entityId is EntityInstance)
            {
                id = (entityId as EntityInstance).Entity.Id;
            }
            else
            {
                id = GuidInstance.ConvertFromJsObjectToGuid(entityId);
            }

            var entityParts = m_repository.ListEntityParts(id);

            if (entityParts == null)
            {
                return(result);
            }

            foreach (var entityPart in m_repository.ListEntityParts(id))
            {
                result.SetPropertyValue(entityPart.Name, new EntityPartInstance(Engine, entityPart), false);
            }

            return(result);
        }
示例#2
0
        public TermInstance GetTerm(object termId)
        {
            var guid = GuidInstance.ConvertFromJsObjectToGuid(termId);
            var term = m_termSet.GetTerm(guid);

            return(new TermInstance(Engine.Object.InstancePrototype, term));
        }
        public SPSiteInstance CreateFromGuid(object id, object userToken)
        {
            var guidId = GuidInstance.ConvertFromJsObjectToGuid(id);

            SPUserToken spUserToken = null;

            if (userToken != Undefined.Value)
            {
                if (userToken is Base64EncodedByteArrayInstance)
                {
                    spUserToken = new SPUserToken((userToken as Base64EncodedByteArrayInstance).Data);
                }
                else if (userToken is SPUserTokenInstance)
                {
                    spUserToken = (userToken as SPUserTokenInstance).SPUserToken;
                }
                else
                {
                    spUserToken = new SPUserToken(Encoding.UTF8.GetBytes(TypeConverter.ToString(userToken)));
                }
            }

            var site = spUserToken == null
                ? new SPSite(guidId)
                : new SPSite(guidId, spUserToken);

            return(new SPSiteInstance(Engine.Object.InstancePrototype, site));
        }
示例#4
0
        public TermSetInstance CreateTermSet(string name, object newTermSetId)
        {
            var newId      = GuidInstance.ConvertFromJsObjectToGuid(newTermSetId);
            var newTermSet = m_termGroup.CreateTermSet(name, newId);

            return(new TermSetInstance(Engine.Object.InstancePrototype, newTermSet));
        }
        public void Add(object featureId, object force, object featureDefinitionScope)
        {
            if (featureId == Undefined.Value)
            {
                throw new JavaScriptException(this.Engine, "Error", "A Feature Id must be provided as the first argument.");
            }

            var featureGuid = GuidInstance.ConvertFromJsObjectToGuid(featureId);

            if (force == null || force == Null.Value || force == Undefined.Value)
            {
                m_featureCollection.Add(featureGuid);
                return;
            }

            if (featureDefinitionScope == null || featureDefinitionScope == Null.Value ||
                featureDefinitionScope == Undefined.Value)
            {
                m_featureCollection.Add(featureGuid, TypeConverter.ToBoolean(force));
                return;
            }

            var strFeatureDefinitionScope = TypeConverter.ToString(featureDefinitionScope);
            SPFeatureDefinitionScope scope;

            strFeatureDefinitionScope.TryParseEnum(true, SPFeatureDefinitionScope.None, out scope);

            m_featureCollection.Add(featureGuid, TypeConverter.ToBoolean(force), scope);
        }
        public TermGroupInstance GetGroup(object id)
        {
            var guid  = GuidInstance.ConvertFromJsObjectToGuid(id);
            var group = m_termStore.GetGroup(guid);

            return(new TermGroupInstance(Engine.Object.InstancePrototype, group));
        }
        public ObjectInstance Convert(ObjectInstance options)
        {
            //Woah.
            var converterId     = options.GetPropertyValue("converterId");
            var newFileName     = TypeConverter.ToString(options.GetPropertyValue("newFileName"));
            var configInfo      = TypeConverter.ToString(options.GetPropertyValue("configInfo"));
            var handlerAssembly = TypeConverter.ToString(options.GetPropertyValue("handlerAssembly"));
            var handlerClass    = TypeConverter.ToString(options.GetPropertyValue("handlerClass"));
            var priority        = TypeConverter.ToInteger(options.GetPropertyValue("priority"));
            var peopleToAlert   = TypeConverter.ToString(options.GetPropertyValue("peopleToAlert"));
            var sendACopy       = TypeConverter.ToBoolean(options.GetPropertyValue("sendACopy"));
            var synchronous     = TypeConverter.ToBoolean(options.GetPropertyValue("synchronous"));

            var  guidConverterId = GuidInstance.ConvertFromJsObjectToGuid(converterId);
            Guid guidWorkItemId;

            var conversionResult = m_file.Convert(guidConverterId, newFileName, configInfo, handlerAssembly, handlerClass,
                                                  (byte)priority, peopleToAlert, sendACopy, synchronous, out guidWorkItemId);

            var result = Engine.Object.Construct();

            result.SetPropertyValue("workItemId", new GuidInstance(this.Engine.Object.InstancePrototype, guidWorkItemId), false);
            result.SetPropertyValue("conversionResult", conversionResult.ToString(), false);
            return(result);
        }
示例#8
0
        public TermInstance CreateTerm(string name, int lcid, object newTermId)
        {
            var guid    = GuidInstance.ConvertFromJsObjectToGuid(newTermId);
            var newTerm = m_termSet.CreateTerm(name, lcid, guid);

            return(new TermInstance(Engine.Object.InstancePrototype, newTerm));
        }
示例#9
0
        public TermInstance GetTerm(object termId)
        {
            var termGuid = GuidInstance.ConvertFromJsObjectToGuid(termId);
            var term     = m_taxonomySession.GetTerm(termGuid);

            return(new TermInstance(this.Engine.Object.InstancePrototype, term));
        }
        public SPListInstance GetListByGuid(object guid, object fetchMetadata, object fetchSecurityData, object fetchRelatedFields)
        {
            var guidInstance = GuidInstance.ConvertFromJsObjectToGuid(guid);

            SPList list;

            if (fetchMetadata != Undefined.Value && fetchSecurityData == Undefined.Value &&
                fetchRelatedFields == Undefined.Value)
            {
                list = m_listCollection.GetList(guidInstance, TypeConverter.ToBoolean(fetchMetadata));
            }
            else if (fetchMetadata != Undefined.Value && fetchSecurityData != Undefined.Value &&
                     fetchRelatedFields == Undefined.Value)
            {
                list = m_listCollection.GetList(guidInstance, TypeConverter.ToBoolean(fetchMetadata), TypeConverter.ToBoolean(fetchSecurityData));
            }
            else if (fetchMetadata != Undefined.Value && fetchSecurityData != Undefined.Value &&
                     fetchRelatedFields != Undefined.Value)
            {
                list = m_listCollection.GetList(guidInstance, TypeConverter.ToBoolean(fetchMetadata), TypeConverter.ToBoolean(fetchSecurityData), TypeConverter.ToBoolean(fetchRelatedFields));
            }
            else
            {
                list = m_listCollection[guidInstance];
            }

            if (list == null)
            {
                return(null);
            }

            return(new SPListInstance(this.Engine, null, null, list));
        }
        public SPEventReceiverDefinitionInstance Add(object id, object contextList)
        {
            SPEventReceiverDefinition result;

            if (id == Undefined.Value && contextList == Undefined.Value)
            {
                result = m_eventReceiverDefinitionCollection.Add();
            }
            else if (id != Undefined.Value && contextList == Undefined.Value)
            {
                var guid = GuidInstance.ConvertFromJsObjectToGuid(id);
                result = m_eventReceiverDefinitionCollection.Add(guid);
            }
            else
            {
                var guid = GuidInstance.ConvertFromJsObjectToGuid(id);

                var listContextList = contextList as SPListInstance;
                if (listContextList == null)
                {
                    throw new JavaScriptException(this.Engine, "Error", "Context list must be specified and an instance of SPList.");
                }

                result = m_eventReceiverDefinitionCollection.Add(guid, listContextList.List);
            }

            return(result == null
                ? null
                : new SPEventReceiverDefinitionInstance(this.Engine.Object.InstancePrototype, result));
        }
        public void CreateHistoryEvent(SPWebInstance web, object workflowId, int eventId, object user, string duration, string outcome, string description, string otherData)
        {
            if (web == null)
            {
                throw new JavaScriptException(Engine, "Error", "A web must be supplied as the first argument.");
            }

            SPMember member;

            if (user is SPUserInstance)
            {
                member = (user as SPUserInstance).User;
            }
            else if (user is SPGroupInstance)
            {
                member = (user as SPGroupInstance).Group;
            }
            else
            {
                throw new JavaScriptException(Engine, "Error", "User must be a SPUser or SPGroup.");
            }

            SPWorkflow.CreateHistoryEvent(web.Web, GuidInstance.ConvertFromJsObjectToGuid(workflowId), eventId, member, TimeSpan.Parse(duration), outcome,
                                          description, otherData);
        }
示例#13
0
        public SPDeletedSiteCollectionInstance GetDeletedSitesByGuid(object id)
        {
            var guid = GuidInstance.ConvertFromJsObjectToGuid(id);

            var collection = m_webApplication.GetDeletedSites(guid);

            return(new SPDeletedSiteCollectionInstance(Engine.Object.InstancePrototype, collection));
        }
        public PermissionsInfoInstance GetEntityPermissions(object entityId)
        {
            var id = GuidInstance.ConvertFromJsObjectToGuid(entityId);

            var result = m_repository.GetEntityPermissions(id);

            return(new PermissionsInfoInstance(Engine, result));
        }
        public PrincipalRoleInfoInstance AddPrincipalRoleToEntity(object entityId, string principalName, string principalType, string roleName)
        {
            var id = GuidInstance.ConvertFromJsObjectToGuid(entityId);

            var result = m_repository.AddPrincipalRoleToEntity(id, principalName, principalType, roleName);

            return(new PrincipalRoleInfoInstance(Engine, result));
        }
        public SPWorkflowAssociationInstance GetWorkflowAssociationByBaseId(object baseTemplateId)
        {
            var guidId = GuidInstance.ConvertFromJsObjectToGuid(baseTemplateId);
            var result = m_workflowAssociationCollection.GetAssociationByBaseID(guidId);

            return(result == null
                ? null
                : new SPWorkflowAssociationInstance(Engine.Object.InstancePrototype, result));
        }
示例#17
0
        public SPUserCustomActionInstance GetUserCustomActionById(object id)
        {
            var guidId = GuidInstance.ConvertFromJsObjectToGuid(id);
            var result = m_userCustomActionCollection[guidId];

            return(result == null
                ? null
                : new SPUserCustomActionInstance(Engine.Object.InstancePrototype, result));
        }
示例#18
0
        public SPWorkflowTaskInstance GetWorkflowAssociationById(object id)
        {
            var guidId = GuidInstance.ConvertFromJsObjectToGuid(id);
            var result = m_workflowTaskCollection[guidId];

            return(result == null
                ? null
                : new SPWorkflowTaskInstance(Engine, result));
        }
示例#19
0
        public SPWorkflowTemplateInstance GetTemplateById(object id)
        {
            var guidId = GuidInstance.ConvertFromJsObjectToGuid(id);
            var result = m_workflowTemplateCollection[guidId];

            return(result == null
                ? null
                : new SPWorkflowTemplateInstance(Engine.Object.InstancePrototype, result));
        }
        public SPWorkflowModificationInstance GetWorkflowAssociationById(object id)
        {
            var guidId = GuidInstance.ConvertFromJsObjectToGuid(id);
            var result = m_workflowModificationCollection[guidId];

            return(result == null
                ? null
                : new SPWorkflowModificationInstance(Engine.Object.InstancePrototype, result));
        }
示例#21
0
        public SPWebPartInstance GetWebPartByStorageKey(object storageKey)
        {
            var guidId = GuidInstance.ConvertFromJsObjectToGuid(storageKey);
            var result = m_limitedWebPartCollection[guidId] as WebPart;

            return(result == null
                ? null
                : new SPWebPartInstance(this.Engine.Object.InstancePrototype, result));
        }
        public string GetConversionState(object converterId, object workItemId)
        {
            var guidConverterId = GuidInstance.ConvertFromJsObjectToGuid(converterId);
            var guidWorkItemId  = GuidInstance.ConvertFromJsObjectToGuid(workItemId);

            var result = m_file.GetConversionState(guidConverterId, guidWorkItemId);

            return(result.ToString());
        }
示例#23
0
        public SPUserSolutionInstance GetBySolutionId(object solutionId)
        {
            var guidSolutionId = GuidInstance.ConvertFromJsObjectToGuid(solutionId);
            var result         = m_userSolutionCollection[guidSolutionId];

            return(result == null
                ? null
                : new SPUserSolutionInstance(Engine.Object.InstancePrototype, result));
        }
        public SPFeatureDefinitionInstance GetByFeatureId(object featureId)
        {
            var guidFeatureId = GuidInstance.ConvertFromJsObjectToGuid(featureId);
            var result        = m_featureDefinitionCollection[guidFeatureId];

            return(result == null
                ? null
                : new SPFeatureDefinitionInstance(this.Engine.Object.InstancePrototype, result));
        }
        public SPAlertInstance GetAlertById(object id)
        {
            var guidId = GuidInstance.ConvertFromJsObjectToGuid(id);
            var result = m_alertCollection[guidId];

            return(result == null
                ? null
                : new SPAlertInstance(Engine.Object.InstancePrototype, result));
        }
示例#26
0
        public TermSetInstance GetTermById(object id)
        {
            var guid    = GuidInstance.ConvertFromJsObjectToGuid(id);
            var termSet = m_termSetCollection[guid];

            return(termSet == null
        ? null
        : new TermSetInstance(Engine.Object.InstancePrototype, termSet));
        }
示例#27
0
        public SPListItemInstance GetItemByGuid(object guid)
        {
            var iGuid    = GuidInstance.ConvertFromJsObjectToGuid(guid);
            var listItem = m_listItemCollection[iGuid];

            return(listItem == null
                ? null
                : new SPListItemInstance(Engine, listItem));
        }
        public SPWebInstance GetWebByGuid(object id)
        {
            var guid = GuidInstance.ConvertFromJsObjectToGuid(id);

            var result = m_webCollection[guid];

            return(result == null
              ? null
              : new SPWebInstance(Engine, result));
        }
示例#29
0
        public SPServerInstance GetServerById(object id)
        {
            var guid = GuidInstance.ConvertFromJsObjectToGuid(id);

            var result = m_serverCollection[guid];

            return(result == null
        ? null
        : new SPServerInstance(Engine.Object.InstancePrototype, result));
        }
示例#30
0
        public SPServiceInstanceInstance GetServiceInstanceByGuid(object id)
        {
            var guid = GuidInstance.ConvertFromJsObjectToGuid(id);

            var result = m_serviceInstanceDependencyCollection[guid];

            return(result == null
        ? null
        : new SPServiceInstanceInstance(Engine.Object.Prototype, result));
        }