private EntityReference FindFilter(Guid idMessage, string primaryEntity, string secondaryEntity) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = SdkMessageFilter.EntityLogicalName, ColumnSet = ColumnSetInstances.AllColumns, Criteria = { Conditions = { new ConditionExpression(SdkMessageFilter.Schema.Attributes.sdkmessageid, ConditionOperator.Equal, idMessage), new ConditionExpression(SdkMessageFilter.Schema.Attributes.primaryobjecttypecode, ConditionOperator.Equal, primaryEntity), new ConditionExpression(SdkMessageFilter.Schema.Attributes.secondaryobjecttypecode, ConditionOperator.Equal, secondaryEntity), }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntityReference()).SingleOrDefault() : null); }
private PluginAssembly FindAssembly(string name) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = PluginAssembly.EntityLogicalName, ColumnSet = new ColumnSet(GetAttributes(_service)), Criteria = { Conditions = { new ConditionExpression(PluginAssembly.Schema.Attributes.ishidden, ConditionOperator.Equal, false), new ConditionExpression(PluginAssembly.Schema.Attributes.name, ConditionOperator.Equal, name), }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <PluginAssembly>()).SingleOrDefault() : null); }
/// <summary> /// Получение веб-ресурса по его идентификатору /// </summary> /// <param name="resourceId"></param> /// <returns></returns> private WebResource GetById(Guid resourceId, ColumnSet columnSet) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = WebResource.EntityLogicalName, ColumnSet = columnSet ?? ColumnSetInstances.AllColumns, Criteria = { Conditions = { new ConditionExpression(WebResource.Schema.Attributes.webresourceid, ConditionOperator.Equal, resourceId) }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <WebResource>()).SingleOrDefault() : null); }
public TeamTemplate FindByName(string name, ColumnSet columnSet) { var query = new QueryExpression() { NoLock = true, TopCount = 1, EntityName = TeamTemplate.EntityLogicalName, ColumnSet = columnSet ?? ColumnSetInstances.None, Criteria = { Conditions = { new ConditionExpression(TeamTemplate.Schema.Attributes.teamtemplatename, ConditionOperator.Equal, name), }, }, }; var collection = _service.RetrieveMultiple(query); return(collection.Entities.Select(e => e.ToEntity <TeamTemplate>()).FirstOrDefault()); }
private SdkMessage FindMessage(string name) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, ColumnSet = new ColumnSet(true), EntityName = SdkMessage.EntityLogicalName, Criteria = { Conditions = { new ConditionExpression(SdkMessage.Schema.Attributes.name, ConditionOperator.Equal, name), }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <SdkMessage>()).SingleOrDefault() : null); }
public PluginType FindTypeByFullName(string name, string assemblyName, string versionString, string cultureString, string publicKeyTokenString, ColumnSet columnSet) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = PluginType.EntityLogicalName, ColumnSet = columnSet ?? new ColumnSet(true), Criteria = { Conditions = { new ConditionExpression(PluginType.Schema.Attributes.name, ConditionOperator.Equal, name), new ConditionExpression(PluginType.Schema.Attributes.assemblyname, ConditionOperator.Equal, assemblyName), new ConditionExpression(PluginType.Schema.Attributes.version, ConditionOperator.Equal, versionString), new ConditionExpression(PluginType.Schema.Attributes.culture, ConditionOperator.Equal, cultureString), new ConditionExpression(PluginType.Schema.Attributes.publickeytoken, ConditionOperator.Equal, publicKeyTokenString), }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <PluginType>()).SingleOrDefault() : null); }
private SiteMap GetById(Guid idSiteMap, ColumnSet columnSet) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = SiteMap.EntityLogicalName, ColumnSet = columnSet ?? new ColumnSet(true), Criteria = { Conditions = { new ConditionExpression(SiteMap.EntityPrimaryIdAttribute, ConditionOperator.Equal, idSiteMap), }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <SiteMap>()).SingleOrDefault() : null); }
private async Task <Entity> GetEntityById(Guid idEntity, ColumnSet columnSet) { var repository = new SdkMessageFilterRepository(_service); var messageFilter = await repository.FindByEntityAndMessageAsync(_entityMetadata.LogicalName, SdkMessage.Instances.RetrieveMultiple, new ColumnSet(false)); if (messageFilter != null) { var query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = _entityMetadata.LogicalName, ColumnSet = columnSet, Criteria = { Conditions = { new ConditionExpression(_entityMetadata.PrimaryIdAttribute, ConditionOperator.Equal, idEntity), }, }, }; try { var coll = _service.RetrieveMultiple(query); if (coll.Entities.Count == 1) { return(coll.Entities.First()); } } catch (Exception ex) { DTEHelper.WriteExceptionToLog(ex); } } messageFilter = await repository.FindByEntityAndMessageAsync(_entityMetadata.LogicalName, SdkMessage.Instances.Retrieve, new ColumnSet(false)); if (messageFilter != null) { try { var result = _service.Retrieve(_entityMetadata.LogicalName, idEntity, columnSet); return(result); } catch (Exception ex) { DTEHelper.WriteExceptionToLog(ex); } } return(null); }
private Workflow GetById(Guid idWorkflow, ColumnSet columnSet) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = Workflow.EntityLogicalName, ColumnSet = columnSet ?? ColumnSetInstances.AllColumns, Criteria = { Conditions = { new ConditionExpression(Workflow.EntityPrimaryIdAttribute, ConditionOperator.Equal, idWorkflow), }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <Workflow>()).SingleOrDefault() : null); }
private SdkMessageRequest GetById(Guid idSdkMessageRequest, ColumnSet columnSet) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = SdkMessageRequest.EntityLogicalName, ColumnSet = columnSet ?? new ColumnSet(true), Criteria = { Conditions = { new ConditionExpression(SdkMessageRequest.EntityPrimaryIdAttribute, ConditionOperator.Equal, idSdkMessageRequest), }, }, LinkEntities = { new LinkEntity() { LinkFromEntityName = SdkMessageRequest.EntityLogicalName, LinkFromAttributeName = SdkMessageRequest.Schema.Attributes.sdkmessagepairid, LinkToEntityName = SdkMessagePair.EntityLogicalName, LinkToAttributeName = SdkMessagePair.EntityPrimaryIdAttribute, EntityAlias = SdkMessageRequest.Schema.Attributes.sdkmessagepairid, Columns = new ColumnSet(true), LinkEntities = { new LinkEntity() { LinkFromEntityName = SdkMessagePair.EntityLogicalName, LinkFromAttributeName = SdkMessagePair.Schema.Attributes.sdkmessageid, LinkToEntityName = SdkMessage.EntityLogicalName, LinkToAttributeName = SdkMessage.EntityPrimaryIdAttribute, EntityAlias = SdkMessageRequest.Schema.Attributes.sdkmessagepairid + "." + SdkMessagePair.Schema.Attributes.sdkmessageid, Columns = new ColumnSet(true), }, }, } }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <SdkMessageRequest>()).SingleOrDefault() : null); }
public DisplayString GetByKeyAndLanguage(string key, int langCode, ColumnSet columnSet) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = DisplayString.EntityLogicalName, ColumnSet = columnSet ?? new ColumnSet(true), Criteria = { Conditions = { new ConditionExpression(DisplayString.Schema.Attributes.displaystringkey, ConditionOperator.Equal, key), new ConditionExpression(DisplayString.Schema.Attributes.languagecode, ConditionOperator.Equal, langCode), }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <DisplayString>()).SingleOrDefault() : null); }
private SdkMessageProcessingStepSecureConfig GetSecureById(Guid id) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = SdkMessageProcessingStepSecureConfig.EntityLogicalName, ColumnSet = ColumnSetInstances.AllColumns, Criteria = { Conditions = { new ConditionExpression(SdkMessageProcessingStepSecureConfig.EntityPrimaryIdAttribute, ConditionOperator.Equal, id), }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <SdkMessageProcessingStepSecureConfig>()).SingleOrDefault() : null); }
public AppModule FindByExactName(string uniqueName, ColumnSet columnSet) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = AppModule.EntityLogicalName, ColumnSet = columnSet ?? new ColumnSet(true), Criteria = { Conditions = { new ConditionExpression(AppModule.Schema.Attributes.uniquename, ConditionOperator.Equal, uniqueName), }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <AppModule>()).SingleOrDefault() : null); }
internal EntityReference FindUser(string fullname) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, ColumnSet = ColumnSetInstances.None, EntityName = SystemUser.EntityLogicalName, Criteria = { Conditions = { new ConditionExpression(SystemUser.Schema.Attributes.fullname, ConditionOperator.Equal, fullname), }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntityReference()).SingleOrDefault() : null); }
public Role FindRoleByTemplate(Guid roleTemplateId, ColumnSet columnSet) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = Role.EntityLogicalName, ColumnSet = columnSet ?? new ColumnSet(true), Criteria = { Conditions = { new ConditionExpression(Role.Schema.Attributes.parentroleid, ConditionOperator.Null), new ConditionExpression(Role.Schema.Attributes.roletemplateid, ConditionOperator.Equal,roleTemplateId), }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <Role>()).SingleOrDefault() : null); }
public SavedQueryVisualization GetById(Guid idChart, ColumnSet columnSet) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = SavedQueryVisualization.EntityLogicalName, ColumnSet = columnSet ?? ColumnSetInstances.AllColumns, Criteria = { Conditions = { new ConditionExpression(SavedQueryVisualization.EntityPrimaryIdAttribute, ConditionOperator.Equal, idChart), }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <SavedQueryVisualization>()).SingleOrDefault() : null); }
private Guid?FindRecordAccessTeamId(Guid idRecord, Guid idTeamTemplate) { if (_teamTemplateCache.ContainsKey(idTeamTemplate)) { var templateTeams = _teamTemplateCache[idTeamTemplate]; if (templateTeams.ContainsKey(idRecord)) { return(templateTeams[idRecord]); } } var query = new QueryExpression() { NoLock = true, TopCount = 1, EntityName = Team.EntityLogicalName, ColumnSet = new ColumnSet(false), Criteria = { Conditions = { new ConditionExpression(Team.Schema.Attributes.regardingobjectid, ConditionOperator.Equal, idRecord), new ConditionExpression(Team.Schema.Attributes.teamtemplateid, ConditionOperator.Equal, idTeamTemplate), }, }, }; var collection = _service.RetrieveMultiple(query); if (collection.Entities.Count == 0) { return(null); } StoreRecordAccessGroupCacheValue(idTeamTemplate, idRecord, collection.Entities[0].Id); return(collection.Entities[0].Id); }
private Solution GetSolutionById(Guid id) { QueryExpression query = new QueryExpression() { NoLock = true, EntityName = Solution.EntityLogicalName, ColumnSet = new ColumnSet(true), Criteria = { Conditions = { new ConditionExpression(Solution.EntityPrimaryIdAttribute, ConditionOperator.Equal, id) } }, LinkEntities = { new LinkEntity() { JoinOperator = JoinOperator.LeftOuter, EntityAlias = Solution.Schema.Attributes.publisherid, LinkFromEntityName = Solution.EntityLogicalName, LinkFromAttributeName = Solution.Schema.Attributes.publisherid, LinkToEntityName = Publisher.EntityLogicalName, LinkToAttributeName = Publisher.EntityPrimaryIdAttribute, Columns = new ColumnSet(Publisher.Schema.Attributes.customizationprefix) } }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <Solution>()).SingleOrDefault() : null); }
public RibbonCustomization FindApplicationRibbonCustomization() { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = RibbonCustomization.EntityLogicalName, ColumnSet = ColumnSetInstances.AllColumns, Criteria = { Conditions = { new ConditionExpression(RibbonCustomization.Schema.Attributes.entity, ConditionOperator.Null), }, }, LinkEntities = { new LinkEntity() { LinkFromEntityName = RibbonCustomization.EntityLogicalName, LinkFromAttributeName = RibbonCustomization.Schema.Attributes.solutionid, LinkToEntityName = Solution.Schema.EntityLogicalName, LinkToAttributeName = Solution.Schema.EntityPrimaryIdAttribute, LinkCriteria = { Conditions = { new ConditionExpression(Solution.Schema.Attributes.uniquename, ConditionOperator.Equal, Solution.Schema.InstancesUniqueNames.Active), }, }, }, }, Orders = { new OrderExpression(RibbonCustomization.Schema.Attributes.publishedon, OrderType.Ascending), }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <RibbonCustomization>()).SingleOrDefault() : null); }
private Publisher GetDefaultPublisher() { var organization = _service.Retrieve(Organization.EntityLogicalName, _service.ConnectionData.OrganizationId.Value, new ColumnSet(Organization.Schema.Attributes.name)).ToEntity <Organization>(); var defaultPublisherName = "DefaultPublisher" + organization.Name; QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = Publisher.EntityLogicalName, ColumnSet = new ColumnSet(true), Criteria = { Conditions = { new ConditionExpression(Publisher.Schema.Attributes.uniquename, ConditionOperator.Equal, defaultPublisherName), }, }, Orders = { new OrderExpression(Publisher.Schema.Attributes.createdon, OrderType.Ascending), }, }; var coll = _service.RetrieveMultiple(query).Entities; var result = coll.Count == 1 ? coll.Select(e => e.ToEntity <Publisher>()).SingleOrDefault() : null; if (result != null) { return(result); } query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = Publisher.EntityLogicalName, ColumnSet = new ColumnSet(true), Criteria = { Conditions = { new ConditionExpression(Publisher.Schema.Attributes.uniquename, ConditionOperator.Like, "DefaultPublisher%"), }, }, Orders = { new OrderExpression(Publisher.Schema.Attributes.createdon, OrderType.Ascending), }, }; return(_service.RetrieveMultiple(query).Entities.Select(e => e.ToEntity <Publisher>()).FirstOrDefault()); }
private SdkMessageProcessingStepImage GetLinked1(Guid id) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = SdkMessageProcessingStepImage.EntityLogicalName, ColumnSet = new ColumnSet(true), Criteria = { Conditions = { new ConditionExpression(SdkMessageProcessingStepImage.EntityPrimaryIdAttribute, ConditionOperator.Equal, id), }, }, LinkEntities = { new LinkEntity() { JoinOperator = JoinOperator.LeftOuter, LinkFromEntityName = SdkMessageProcessingStepImage.EntityLogicalName, LinkFromAttributeName = SdkMessageProcessingStepImage.Schema.Attributes.sdkmessageprocessingstepid, LinkToEntityName = SdkMessageProcessingStep.EntityLogicalName, LinkToAttributeName = SdkMessageProcessingStep.EntityPrimaryIdAttribute, Columns = new ColumnSet(true), EntityAlias = SdkMessageProcessingStepImage.Schema.Attributes.sdkmessageprocessingstepid, LinkEntities = { new LinkEntity() { LinkFromEntityName = SdkMessageProcessingStep.EntityLogicalName, LinkFromAttributeName = SdkMessageProcessingStep.Schema.Attributes.sdkmessageid, LinkToEntityName = SdkMessage.EntityLogicalName, LinkToAttributeName = SdkMessage.EntityPrimaryIdAttribute, EntityAlias = SdkMessageProcessingStepImage.Schema.Attributes.sdkmessageprocessingstepid + "." + SdkMessageProcessingStep.Schema.Attributes.sdkmessageid, JoinOperator = Microsoft.Xrm.Sdk.Query.JoinOperator.LeftOuter, Columns = new ColumnSet(true), }, new LinkEntity() { LinkFromEntityName = SdkMessageProcessingStep.EntityLogicalName, LinkFromAttributeName = SdkMessageProcessingStep.Schema.Attributes.sdkmessagefilterid, LinkToEntityName = SdkMessageFilter.EntityLogicalName, LinkToAttributeName = SdkMessageFilter.EntityPrimaryIdAttribute, EntityAlias = SdkMessageProcessingStepImage.Schema.Attributes.sdkmessageprocessingstepid + "." + SdkMessageProcessingStep.Schema.Attributes.sdkmessagefilterid , JoinOperator = Microsoft.Xrm.Sdk.Query.JoinOperator.LeftOuter, Columns = new ColumnSet(true), LinkEntities = { new LinkEntity() { LinkFromEntityName = SdkMessageFilter.EntityLogicalName, LinkFromAttributeName = SdkMessageFilter.Schema.Attributes.sdkmessageid, LinkToEntityName = SdkMessage.EntityLogicalName, LinkToAttributeName = SdkMessage.EntityPrimaryIdAttribute, EntityAlias = SdkMessageProcessingStepImage.Schema.Attributes.sdkmessageprocessingstepid + "." + SdkMessageProcessingStep.Schema.Attributes.sdkmessagefilterid + "." + SdkMessageFilter.Schema.Attributes.sdkmessageid , JoinOperator = Microsoft.Xrm.Sdk.Query.JoinOperator.LeftOuter, Columns = new ColumnSet(true), }, }, }, }, }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <SdkMessageProcessingStepImage>()).SingleOrDefault() : null); }
private async Task <SdkMessageProcessingStep> GetLinked1(Guid id) { QueryExpression query = new QueryExpression() { NoLock = true, TopCount = 2, EntityName = SdkMessageProcessingStep.EntityLogicalName, ColumnSet = new ColumnSet(true), Criteria = { Conditions = { new ConditionExpression(SdkMessageProcessingStep.EntityPrimaryIdAttribute, ConditionOperator.Equal, id), }, }, LinkEntities = { new LinkEntity() { LinkFromEntityName = SdkMessageProcessingStep.EntityLogicalName, LinkFromAttributeName = SdkMessageProcessingStep.Schema.Attributes.sdkmessageid, LinkToEntityName = SdkMessage.EntityLogicalName, LinkToAttributeName = SdkMessage.EntityPrimaryIdAttribute, EntityAlias = SdkMessageProcessingStep.Schema.Attributes.sdkmessageid, JoinOperator = Microsoft.Xrm.Sdk.Query.JoinOperator.LeftOuter, Columns = new ColumnSet(true), }, new LinkEntity() { LinkFromEntityName = SdkMessageProcessingStep.EntityLogicalName, LinkFromAttributeName = SdkMessageProcessingStep.Schema.Attributes.sdkmessagefilterid, LinkToEntityName = SdkMessageFilter.EntityLogicalName, LinkToAttributeName = SdkMessageFilter.EntityPrimaryIdAttribute, EntityAlias = SdkMessageProcessingStep.Schema.Attributes.sdkmessagefilterid, JoinOperator = Microsoft.Xrm.Sdk.Query.JoinOperator.LeftOuter, Columns = new ColumnSet(true), LinkEntities = { new LinkEntity() { LinkFromEntityName = SdkMessageFilter.EntityLogicalName, LinkFromAttributeName = SdkMessageFilter.Schema.Attributes.sdkmessageid, LinkToEntityName = SdkMessage.EntityLogicalName, LinkToAttributeName = SdkMessage.EntityPrimaryIdAttribute, EntityAlias = SdkMessageProcessingStep.Schema.Attributes.sdkmessagefilterid + "." + SdkMessageFilter.Schema.Attributes.sdkmessageid, JoinOperator = Microsoft.Xrm.Sdk.Query.JoinOperator.LeftOuter, Columns = new ColumnSet(true), }, }, }, new LinkEntity() { LinkFromEntityName = SdkMessageProcessingStep.EntityLogicalName, LinkFromAttributeName = SdkMessageProcessingStep.Schema.Attributes.eventhandler, LinkToEntityName = PluginType.EntityLogicalName, LinkToAttributeName = PluginType.EntityPrimaryIdAttribute, EntityAlias = SdkMessageProcessingStep.Schema.Attributes.eventhandler + "." + PluginType.EntityLogicalName , JoinOperator = Microsoft.Xrm.Sdk.Query.JoinOperator.LeftOuter, Columns = new ColumnSet(true), LinkEntities = { new LinkEntity() { LinkFromEntityName = PluginType.EntityLogicalName, LinkFromAttributeName = PluginType.Schema.Attributes.pluginassemblyid, LinkToEntityName = PluginAssembly.EntityLogicalName, LinkToAttributeName = PluginAssembly.EntityPrimaryIdAttribute, EntityAlias = SdkMessageProcessingStep.Schema.Attributes.eventhandler + "." + PluginType.EntityLogicalName + "." + PluginType.Schema.Attributes.pluginassemblyid , JoinOperator = Microsoft.Xrm.Sdk.Query.JoinOperator.LeftOuter, Columns = new ColumnSet(await PluginAssemblyRepository.GetAttributesAsync(_service)), }, }, }, }, }; var coll = _service.RetrieveMultiple(query).Entities; return(coll.Count == 1 ? coll.Select(e => e.ToEntity <SdkMessageProcessingStep>()).SingleOrDefault() : null); }