コード例 #1
0
        public void ImportActionCalls(CrmServiceClient crmService,
                                      Guid configurationId,
                                      USDConfiguration sourceUsdConfiguration,
                                      USDConfiguration targetUSDConfiguration,
                                      List <LookupMatchCriteria> lookupMatchCriterias)
        {
            LookupMatchCriteria actionCallsLookupMatchCriteria = GetLookupMatchCriteria("msdyusd_agentscriptaction", lookupMatchCriterias);

            CRMEntity sourceActionCallsCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_agentscriptaction");
            CRMEntity targetActionCallsCE = targetUSDConfiguration.GetCRMEntity("msdyusd_agentscriptaction");


            ImportResult actionCallsImportResult = _actionCallrepository.ImportActionCalls(crmService,
                                                                                           sourceActionCallsCE,
                                                                                           targetActionCallsCE,
                                                                                           actionCallsLookupMatchCriteria);


            ImportResult configurationActionCallsImportResult = _actionCallrepository.ImportConfigurationActionCalls(crmService,
                                                                                                                     configurationId,
                                                                                                                     sourceActionCallsCE,
                                                                                                                     targetActionCallsCE);


            _importResults.Add(actionCallsImportResult);
            _importResults.Add(configurationActionCallsImportResult);
        }
コード例 #2
0
        public void ImportSessionLines(CrmServiceClient crmService,
                                       Guid configurationId,
                                       USDConfiguration sourceUsdConfiguration,
                                       USDConfiguration targetUSDConfiguration,
                                       List <LookupMatchCriteria> lookupMatchCriterias)
        {
            LookupMatchCriteria sessionLinesLookupMatchCriteria = GetLookupMatchCriteria("msdyusd_sessioninformation", lookupMatchCriterias);

            CRMEntity sourceSessionLinesCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_sessioninformation");
            CRMEntity targetSessionLinesCE = targetUSDConfiguration.GetCRMEntity("msdyusd_sessioninformation");


            ImportResult sessionLinesImportResult = _sessionLineRepository.ImportSessionLines(crmService,
                                                                                              sourceSessionLinesCE,
                                                                                              targetSessionLinesCE,
                                                                                              sessionLinesLookupMatchCriteria);


            ImportResult configurationSessionLinesImportResult = _sessionLineRepository.ImportConfigurationSessionLines(crmService,
                                                                                                                        configurationId,
                                                                                                                        sourceSessionLinesCE,
                                                                                                                        targetSessionLinesCE);


            _importResults.Add(sessionLinesImportResult);
            _importResults.Add(configurationSessionLinesImportResult);
        }
コード例 #3
0
        public void ImportEntitySearches(CrmServiceClient crmService,
                                         Guid configurationId,
                                         USDConfiguration sourceUsdConfiguration,
                                         USDConfiguration targetUSDConfiguration,
                                         List <LookupMatchCriteria> lookupMatchCriterias)
        {
            LookupMatchCriteria entitySearchesLookupMatchCriteria = GetLookupMatchCriteria("msdyusd_entitysearch", lookupMatchCriterias);

            CRMEntity sourceEntitySearchesCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_entitysearch");
            CRMEntity targetEntitySearchesCE = targetUSDConfiguration.GetCRMEntity("msdyusd_entitysearch");


            ImportResult entitySearchesImportResult = _entitySearchRepository.ImportEntitySearches(crmService,
                                                                                                   sourceEntitySearchesCE,
                                                                                                   targetEntitySearchesCE,
                                                                                                   entitySearchesLookupMatchCriteria);


            ImportResult configurationEntitySearchesImportResult = _entitySearchRepository.ImportConfigurationEntitySearches(crmService,
                                                                                                                             configurationId,
                                                                                                                             sourceEntitySearchesCE,
                                                                                                                             targetEntitySearchesCE);


            _importResults.Add(entitySearchesImportResult);
            _importResults.Add(configurationEntitySearchesImportResult);
        }
コード例 #4
0
        public Entity GetMatchedEntity(LookupMatchCriteria matchCriteria, Entity sourceEntity, List <Entity> targetEntities)
        {
            Entity matchedEntity = null;
            Guid   primaryId     = sourceEntity.Id;

            string primaryAttributeName  = sourceEntity.LogicalName.StartsWith("uii") ? "uii_name" : "msdyusd_name";
            string primaryAttributeValue = sourceEntity.GetAttributeValue <string>(primaryAttributeName);

            if (matchCriteria.PrimaryIdOrNameMatchOnly)
            {
                matchedEntity = FindEntityUsingId(primaryId, targetEntities);

                if (matchedEntity == null)//No match found on Id, try primary Attribute
                {
                    matchedEntity = FindEntityUsingPrimaryAttribute(primaryAttributeName, primaryAttributeValue, targetEntities);
                }
            }
            else if (matchCriteria.PrimaryIdMatchOnly)
            {
                matchedEntity = FindEntityUsingId(primaryId, targetEntities);
            }
            else if (matchCriteria.PrimaryNameMatchOnly)
            {
                matchedEntity = FindEntityUsingPrimaryAttribute(primaryAttributeName, primaryAttributeValue, targetEntities);
            }
            else if (matchCriteria.AttributesToMatchOn != null)
            {
                matchedEntity = FindEntityUsingMatchOnAttributes(sourceEntity, matchCriteria.AttributesToMatchOn, matchCriteria.OperatorWhenAttributesMatching, targetEntities);
            }

            return(matchedEntity);
        }
コード例 #5
0
        public void ImportScriptlets(CrmServiceClient crmService,
                                     Guid configurationId,
                                     USDConfiguration sourceUsdConfiguration,
                                     USDConfiguration targetUSDConfiguration,
                                     List <LookupMatchCriteria> lookupMatchCriterias)
        {
            LookupMatchCriteria scriptletsLookupMatchCriteria = GetLookupMatchCriteria("msdyusd_scriptlet", lookupMatchCriterias);

            CRMEntity sourceScriptletsCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_scriptlet");
            CRMEntity targetScriptletsCE = targetUSDConfiguration.GetCRMEntity("msdyusd_scriptlet");


            ImportResult scriptletsImportResult = _scriptletRepository.ImportScriptlets(crmService,
                                                                                        sourceScriptletsCE,
                                                                                        targetScriptletsCE,
                                                                                        scriptletsLookupMatchCriteria);


            ImportResult configurationScriptletsImportResult = _scriptletRepository.ImportConfigurationScriptlet(crmService,
                                                                                                                 configurationId,
                                                                                                                 sourceScriptletsCE,
                                                                                                                 targetScriptletsCE);


            _importResults.Add(scriptletsImportResult);
            _importResults.Add(configurationScriptletsImportResult);
        }
コード例 #6
0
        public void ImportHostedControls(CrmServiceClient crmService,
                                         Guid configurationId,
                                         USDConfiguration sourceUsdConfiguration,
                                         USDConfiguration targetUSDConfiguration,
                                         List <LookupMatchCriteria> lookupMatchCriterias)
        {
            LookupMatchCriteria hostedControlLookupMatchCriteria = GetLookupMatchCriteria("uii_hostedapplication", lookupMatchCriterias);

            CRMEntity sourceHostedControlsCE = sourceUsdConfiguration.GetCRMEntity("uii_hostedapplication");
            CRMEntity targetHostedControlsCE = targetUSDConfiguration.GetCRMEntity("uii_hostedapplication");


            ImportResult hostedControlsImportResult = _hostedControlRepository.ImportHostedControls(crmService,
                                                                                                    sourceHostedControlsCE,
                                                                                                    targetHostedControlsCE,
                                                                                                    hostedControlLookupMatchCriteria);

            ImportResult configurationHostedControlsImportResult = _hostedControlRepository.ImportConfigurationHostedControl(crmService,
                                                                                                                             configurationId,
                                                                                                                             sourceHostedControlsCE,
                                                                                                                             targetHostedControlsCE);

            _importResults.Add(hostedControlsImportResult);
            _importResults.Add(configurationHostedControlsImportResult);
        }
コード例 #7
0
        protected ImportResult ImportEntity(IOrganizationService targetCrmService, CRMEntity sourceEntitiesCE,
                                            CRMEntity targetEntitiesCE, LookupMatchCriteria entityLookupMatchCriteria)
        {
            DateTime startedOn = DateTime.Now;


            List <Entity> allEntityRecordsInTargetForMatching = GetAllRecordsWithMinimumColumns(targetCrmService, entityLookupMatchCriteria);

            Dictionary <string, OrganizationRequest> createOrUpdateRequests = GetCreateOrUpdateRequests(sourceEntitiesCE,
                                                                                                        targetEntitiesCE,
                                                                                                        allEntityRecordsInTargetForMatching,
                                                                                                        entityLookupMatchCriteria);

            BulkResponse bulkResponse = _bulkRequest.Write(targetCrmService, createOrUpdateRequests);
            DateTime     endedOn      = DateTime.Now;


            ImportResult importResult = GetImportResult(bulkResponse, sourceEntitiesCE);

            if (string.IsNullOrWhiteSpace(importResult.EntityLogicalName) && entityLookupMatchCriteria != null)
            {
                importResult.EntityLogicalName = entityLookupMatchCriteria.EntityLogicalName;
            }

            importResult.StartedOn = startedOn;
            importResult.EndedOn   = endedOn;

            return(importResult);
        }
コード例 #8
0
        public void ImportOptions(CrmServiceClient crmService,
                                  Guid configurationId,
                                  USDConfiguration sourceUsdConfiguration,
                                  USDConfiguration targetUSDConfiguration,
                                  List <LookupMatchCriteria> lookupMatchCriterias)
        {
            LookupMatchCriteria optionsLookupMatchCriteria = GetLookupMatchCriteria("uii_option", lookupMatchCriterias);

            CRMEntity sourceOptionsCE = sourceUsdConfiguration.GetCRMEntity("uii_option");
            CRMEntity targetOptionsCE = targetUSDConfiguration.GetCRMEntity("uii_option");


            ImportResult optionsImportResult = _optionRepository.ImportOptions(crmService,
                                                                               sourceOptionsCE,
                                                                               targetOptionsCE,
                                                                               optionsLookupMatchCriteria);


            ImportResult configurationOptionImportResult = _optionRepository.ImportConfigurationEntitySearches(crmService,
                                                                                                               configurationId,
                                                                                                               sourceOptionsCE,
                                                                                                               targetOptionsCE);


            _importResults.Add(optionsImportResult);
            _importResults.Add(configurationOptionImportResult);
        }
コード例 #9
0
        public void ImportToolbars(CrmServiceClient crmService,
                                   Guid configurationId,
                                   USDConfiguration sourceUsdConfiguration,
                                   USDConfiguration targetUSDConfiguration,
                                   List <LookupMatchCriteria> lookupMatchCriterias)
        {
            LookupMatchCriteria toolbarsLookupMatchCriteria = GetLookupMatchCriteria("msdyusd_toolbarstrip", lookupMatchCriterias);

            CRMEntity sourceToolbarsCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_toolbarstrip");
            CRMEntity targetToolbarsCE = targetUSDConfiguration.GetCRMEntity("msdyusd_toolbarstrip");


            ImportResult toolbarsImportResult = _toolbarRepository.ImportToolbars(crmService,
                                                                                  sourceToolbarsCE,
                                                                                  targetToolbarsCE,
                                                                                  toolbarsLookupMatchCriteria);


            ImportResult configurationToolbarsImportResult = _toolbarRepository.ImportConfigurationToolbar(crmService,
                                                                                                           configurationId,
                                                                                                           sourceToolbarsCE,
                                                                                                           targetToolbarsCE);


            _importResults.Add(toolbarsImportResult);
            _importResults.Add(configurationToolbarsImportResult);
        }
コード例 #10
0
        public void ImportWindowNavigationRules(CrmServiceClient crmService,
                                                Guid configurationId,
                                                USDConfiguration sourceUsdConfiguration,
                                                USDConfiguration targetUSDConfiguration,
                                                List <LookupMatchCriteria> lookupMatchCriterias)
        {
            LookupMatchCriteria navigationRulesLookupMatchCriteria = GetLookupMatchCriteria("msdyusd_windowroute", lookupMatchCriterias);

            CRMEntity sourceNavigationRulesCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_windowroute");
            CRMEntity targetNavigationRulesCE = targetUSDConfiguration.GetCRMEntity("msdyusd_windowroute");


            ImportResult navigationRulesCEImportResult = _wnrRepository.ImportWindowNavigationRules(crmService,
                                                                                                    sourceNavigationRulesCE,
                                                                                                    targetNavigationRulesCE,
                                                                                                    navigationRulesLookupMatchCriteria);


            ImportResult configurationNavigationRulesCEImportResult = _wnrRepository.ImportConfigurationWindowNavigationRules(crmService,
                                                                                                                              configurationId,
                                                                                                                              sourceNavigationRulesCE,
                                                                                                                              targetNavigationRulesCE);


            _importResults.Add(navigationRulesCEImportResult);
            _importResults.Add(configurationNavigationRulesCEImportResult);
        }
コード例 #11
0
        public void ImportAgentScriptTasks(CrmServiceClient crmService,
                                           Guid configurationId,
                                           USDConfiguration sourceUsdConfiguration,
                                           USDConfiguration targetUSDConfiguration,
                                           List <LookupMatchCriteria> lookupMatchCriterias)
        {
            LookupMatchCriteria agentScriptTasksLookupMatchCriteria = GetLookupMatchCriteria("msdyusd_task", lookupMatchCriterias);

            CRMEntity sourceAgentScriptTasksCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_task");
            CRMEntity targetAgentScriptTasksCE = targetUSDConfiguration.GetCRMEntity("msdyusd_task");


            ImportResult agentScriptTasksImportResult = _agentScriptTaskRepository.ImportAgentScriptTasks(crmService,
                                                                                                          sourceAgentScriptTasksCE,
                                                                                                          targetAgentScriptTasksCE,
                                                                                                          agentScriptTasksLookupMatchCriteria);


            ImportResult configurationAgentScriptTasksImportResult = _agentScriptTaskRepository.ImportConfigurationAgentScriptTasks(crmService,
                                                                                                                                    configurationId,
                                                                                                                                    sourceAgentScriptTasksCE,
                                                                                                                                    targetAgentScriptTasksCE);


            _importResults.Add(agentScriptTasksImportResult);
            _importResults.Add(configurationAgentScriptTasksImportResult);
        }
コード例 #12
0
        public ImportResult ImportEntityTypes(IOrganizationService targetCrmService, CRMEntity sourceEntityTypesCE,
                                              CRMEntity targetEntityTypesCE, LookupMatchCriteria entityTypeMatchCriteria)
        {
            ImportResult importResult = ImportEntity(targetCrmService,
                                                     sourceEntityTypesCE,
                                                     targetEntityTypesCE,
                                                     entityTypeMatchCriteria);

            return(importResult);
        }
コード例 #13
0
        public ImportResult ImportAgentScriptAnswers(IOrganizationService targetCrmService, CRMEntity sourceAnswersCE,
                                                     CRMEntity targetAnswersCE, LookupMatchCriteria answersMatchCriteria)
        {
            ImportResult importResult = ImportEntity(targetCrmService,
                                                     sourceAnswersCE,
                                                     targetAnswersCE,
                                                     answersMatchCriteria);

            return(importResult);
        }
コード例 #14
0
        public ImportResult ImportActionCalls(IOrganizationService targetCrmService, CRMEntity sourceActionCallsCE,
                                              CRMEntity targetActionCallsCE, LookupMatchCriteria actionCallsMatchCriteria)
        {
            ImportResult importResult = ImportEntity(targetCrmService,
                                                     sourceActionCallsCE,
                                                     targetActionCallsCE,
                                                     actionCallsMatchCriteria);

            return(importResult);
        }
コード例 #15
0
        public ImportResult ImportHostedControls(IOrganizationService targetCrmService, CRMEntity sourceHostedControlsCE,
                                                 CRMEntity targetHostedControlsCE, LookupMatchCriteria hostedControlMatchCriteria)
        {
            ImportResult importResult = ImportEntity(targetCrmService,
                                                     sourceHostedControlsCE,
                                                     targetHostedControlsCE,
                                                     hostedControlMatchCriteria);

            return(importResult);
        }
コード例 #16
0
        public ImportResult ImportToolbars(IOrganizationService targetCrmService, CRMEntity sourceToolbarsCE,
                                           CRMEntity targetToolbarsCE, LookupMatchCriteria toolbarsMatchCriteria)
        {
            ImportResult importResult = ImportEntity(targetCrmService,
                                                     sourceToolbarsCE,
                                                     targetToolbarsCE,
                                                     toolbarsMatchCriteria);

            return(importResult);
        }
コード例 #17
0
        public ImportResult ImportSessionLines(IOrganizationService targetCrmService, CRMEntity sourceSessionLinesCE,
                                               CRMEntity targetSessionLinesCE, LookupMatchCriteria sessionLinesMatchCriteria)
        {
            ImportResult importResult = ImportEntity(targetCrmService,
                                                     sourceSessionLinesCE,
                                                     targetSessionLinesCE,
                                                     sessionLinesMatchCriteria);

            return(importResult);
        }
コード例 #18
0
        public ImportResult ImportOptions(IOrganizationService targetCrmService, CRMEntity sourceOptionsCE,
                                          CRMEntity targetOptionsCE, LookupMatchCriteria optionsMatchCriteria)
        {
            ImportResult importResult = ImportEntity(targetCrmService,
                                                     sourceOptionsCE,
                                                     targetOptionsCE,
                                                     optionsMatchCriteria);

            return(importResult);
        }
コード例 #19
0
        public ImportResult ImportScriptlets(IOrganizationService targetCrmService, CRMEntity sourceScriptletsCE,
                                             CRMEntity targetScriptletsCE, LookupMatchCriteria scriptletsMatchCriteria)
        {
            ImportResult importResult = ImportEntity(targetCrmService,
                                                     sourceScriptletsCE,
                                                     targetScriptletsCE,
                                                     scriptletsMatchCriteria);

            return(importResult);
        }
コード例 #20
0
        public Dictionary <string, OrganizationRequest> GetCreateOrUpdateRequests(CRMEntity sourceCE, CRMEntity targetCE,
                                                                                  List <Entity> allRecordsInTargetSystemForLookup,
                                                                                  LookupMatchCriteria matchCriteriaForCurrentEntity)
        {
            Dictionary <string, OrganizationRequest> recordsForCreateOrUpdate = new Dictionary <string, OrganizationRequest>();


            if (sourceCE == null)
            {
                return(recordsForCreateOrUpdate);
            }

            List <Entity> targetEntitiesInTargetConfiguration = GetAnswers(targetCE, null);

            foreach (CRMRecord crmRecord in sourceCE.CRMRecords)
            {
                Entity sourceEntity = crmRecord.ToEntity(null);
                Entity targetEntity = _matchingHelper.GetMatchedEntity(matchCriteriaForCurrentEntity, sourceEntity, allRecordsInTargetSystemForLookup);

                OrganizationRequest orgRequest = null;
                if (targetEntity == null)
                {
                    orgRequest = new CreateRequest {
                        Target = sourceEntity
                    };
                }
                else
                {
                    if (targetEntitiesInTargetConfiguration.Any(x => x.Id == targetEntity.Id))//Get the target Entity with data from the USD Configuration to only update the data that has been modified
                    {
                        targetEntity = targetEntitiesInTargetConfiguration.First(x => x.Id == targetEntity.Id);
                    }

                    Entity modifiedEntity = sourceEntity.GetModifiedEntity(targetEntity);
                    modifiedEntity.Id = targetEntity.Id;

                    if (modifiedEntity.Attributes != null && modifiedEntity.Attributes.Count > 0)
                    {
                        orgRequest = new UpdateRequest {
                            Target = modifiedEntity
                        };
                    }
                }

                if (orgRequest != null)
                {
                    recordsForCreateOrUpdate.Add(sourceEntity.Id.ToString(), orgRequest);
                }
            }

            return(recordsForCreateOrUpdate);
        }
コード例 #21
0
        private QueryExpression GetQueryForLookupMatching(LookupMatchCriteria lookupMatchCriteria)
        {
            string primaryAttributeName = lookupMatchCriteria.EntityLogicalName.StartsWith("uii") ? "uii_name" : "msdyusd_name";

            QueryExpression queryExpression = new QueryExpression(lookupMatchCriteria.EntityLogicalName);

            queryExpression.ColumnSet = new ColumnSet(primaryAttributeName);

            if (lookupMatchCriteria.AttributesToMatchOn != null && lookupMatchCriteria.AttributesToMatchOn.Count > 0)
            {
                queryExpression.ColumnSet.AddColumns(lookupMatchCriteria.AttributesToMatchOn.ToArray());
            }


            return(queryExpression);
        }
コード例 #22
0
        public void ImportEntityTypes(CrmServiceClient crmService,
                                      USDConfiguration sourceUsdConfiguration,
                                      USDConfiguration targetUSDConfiguration, List <LookupMatchCriteria> lookupMatchCriterias)
        {
            LookupMatchCriteria entityTypeLookupMatchCriteria = GetLookupMatchCriteria("msdyusd_entityassignment", lookupMatchCriterias);

            CRMEntity sourceEntityTypesCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_entityassignment");
            CRMEntity targetEntityTypesCE = targetUSDConfiguration.GetCRMEntity("msdyusd_entityassignment");



            ImportResult entityTypesImportResult = _entityTypeRepository.ImportEntityTypes(crmService,
                                                                                           sourceEntityTypesCE,
                                                                                           targetEntityTypesCE,
                                                                                           entityTypeLookupMatchCriteria);

            _importResults.Add(entityTypesImportResult);
        }
コード例 #23
0
        public void ImportActions(CrmServiceClient crmService,
                                  USDConfiguration sourceUsdConfiguration,
                                  USDConfiguration targetUSDConfiguration, List <LookupMatchCriteria> lookupMatchCriterias)
        {
            LookupMatchCriteria actionLookupMatchCriteria = GetLookupMatchCriteria("uii_action", lookupMatchCriterias);

            CRMEntity sourceActionsCE = sourceUsdConfiguration.GetCRMEntity("uii_action");
            CRMEntity targetActionsCE = targetUSDConfiguration.GetCRMEntity("uii_action");



            ImportResult actionsImportResult = _actionRepository.ImportActions(crmService,
                                                                               sourceActionsCE,
                                                                               targetActionsCE,
                                                                               actionLookupMatchCriteria);

            _importResults.Add(actionsImportResult);
        }
コード例 #24
0
        public void ImportToolbarButtons(CrmServiceClient crmService,
                                         USDConfiguration sourceUsdConfiguration,
                                         USDConfiguration targetUSDConfiguration,
                                         List <LookupMatchCriteria> lookupMatchCriterias)
        {
            LookupMatchCriteria toolbarButtonLookupMatchCriteria = GetLookupMatchCriteria("msdyusd_toolbarbutton", lookupMatchCriterias);

            CRMEntity sourceToolbarButtonsCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_toolbarbutton");
            CRMEntity targetToolbarButtonsCE = targetUSDConfiguration.GetCRMEntity("msdyusd_toolbarbutton");



            ImportResult toolbarButtonsImportResult = _toolbarButtonRepository.ImportToolbarButtons(crmService,
                                                                                                    sourceToolbarButtonsCE,
                                                                                                    targetToolbarButtonsCE,
                                                                                                    toolbarButtonLookupMatchCriteria);

            _importResults.Add(toolbarButtonsImportResult);
        }
コード例 #25
0
        public ImportResult ImportWindowNavigationRules(IOrganizationService targetCrmService, CRMEntity sourceWindowNavigationRulesCE,
                                                        CRMEntity targetWindowNavigationRulesCE, LookupMatchCriteria windowNavigationRulesMatchCriteria)
        {
            ImportResult importResult = ImportEntity(targetCrmService,
                                                     sourceWindowNavigationRulesCE,
                                                     targetWindowNavigationRulesCE,
                                                     windowNavigationRulesMatchCriteria);

            return(importResult);
        }
コード例 #26
0
        public List <Entity> GetAllRecordsWithMinimumColumns(IOrganizationService targetCrmService, LookupMatchCriteria lookupMatchCriteria)
        {
            string primaryAttributeName = lookupMatchCriteria.EntityLogicalName.StartsWith("uii") ? "uii_name" : "msdyusd_name";

            QueryExpression entityQuery = new QueryExpression(lookupMatchCriteria.EntityLogicalName);

            entityQuery.ColumnSet = new ColumnSet(primaryAttributeName);

            if (lookupMatchCriteria.AttributesToMatchOn != null && lookupMatchCriteria.AttributesToMatchOn.Count > 0)
            {
                entityQuery.ColumnSet.AddColumns(lookupMatchCriteria.AttributesToMatchOn.ToArray());
            }

            EntityCollection results = targetCrmService.RetrieveMultiple(entityQuery);

            if (results == null || results.Entities == null | results.Entities.Count == 0)
            {
                return(null);
            }

            List <Entity> entities = new List <Entity>();

            foreach (Entity entity in results.Entities)
            {
                entities.Add(entity);
            }

            return(entities);
        }
コード例 #27
0
        private Entity GetTargetEntityFromTargetConfiguration(List <Entity> targetEntities, Entity sourceEntity, LookupMatchCriteria matchCriteria)
        {
            Entity matchedEntity = _matchingHelper.GetMatchedEntity(matchCriteria, sourceEntity, targetEntities);

            return(matchedEntity);
        }