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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
public ImportResult ImportEntityTypes(IOrganizationService targetCrmService, CRMEntity sourceEntityTypesCE, CRMEntity targetEntityTypesCE, LookupMatchCriteria entityTypeMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceEntityTypesCE, targetEntityTypesCE, entityTypeMatchCriteria); return(importResult); }
public ImportResult ImportAgentScriptAnswers(IOrganizationService targetCrmService, CRMEntity sourceAnswersCE, CRMEntity targetAnswersCE, LookupMatchCriteria answersMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceAnswersCE, targetAnswersCE, answersMatchCriteria); return(importResult); }
public ImportResult ImportActionCalls(IOrganizationService targetCrmService, CRMEntity sourceActionCallsCE, CRMEntity targetActionCallsCE, LookupMatchCriteria actionCallsMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceActionCallsCE, targetActionCallsCE, actionCallsMatchCriteria); return(importResult); }
public ImportResult ImportHostedControls(IOrganizationService targetCrmService, CRMEntity sourceHostedControlsCE, CRMEntity targetHostedControlsCE, LookupMatchCriteria hostedControlMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceHostedControlsCE, targetHostedControlsCE, hostedControlMatchCriteria); return(importResult); }
public ImportResult ImportToolbars(IOrganizationService targetCrmService, CRMEntity sourceToolbarsCE, CRMEntity targetToolbarsCE, LookupMatchCriteria toolbarsMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceToolbarsCE, targetToolbarsCE, toolbarsMatchCriteria); return(importResult); }
public ImportResult ImportSessionLines(IOrganizationService targetCrmService, CRMEntity sourceSessionLinesCE, CRMEntity targetSessionLinesCE, LookupMatchCriteria sessionLinesMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceSessionLinesCE, targetSessionLinesCE, sessionLinesMatchCriteria); return(importResult); }
public ImportResult ImportOptions(IOrganizationService targetCrmService, CRMEntity sourceOptionsCE, CRMEntity targetOptionsCE, LookupMatchCriteria optionsMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceOptionsCE, targetOptionsCE, optionsMatchCriteria); return(importResult); }
public ImportResult ImportScriptlets(IOrganizationService targetCrmService, CRMEntity sourceScriptletsCE, CRMEntity targetScriptletsCE, LookupMatchCriteria scriptletsMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceScriptletsCE, targetScriptletsCE, scriptletsMatchCriteria); return(importResult); }
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); }
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); }
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); }
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); }
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); }
public ImportResult ImportWindowNavigationRules(IOrganizationService targetCrmService, CRMEntity sourceWindowNavigationRulesCE, CRMEntity targetWindowNavigationRulesCE, LookupMatchCriteria windowNavigationRulesMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceWindowNavigationRulesCE, targetWindowNavigationRulesCE, windowNavigationRulesMatchCriteria); return(importResult); }
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); }
private Entity GetTargetEntityFromTargetConfiguration(List <Entity> targetEntities, Entity sourceEntity, LookupMatchCriteria matchCriteria) { Entity matchedEntity = _matchingHelper.GetMatchedEntity(matchCriteria, sourceEntity, targetEntities); return(matchedEntity); }