コード例 #1
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);
        }
コード例 #2
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);
        }
コード例 #3
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);
        }
コード例 #4
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);
        }
コード例 #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
        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);
        }
コード例 #8
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);
        }
コード例 #9
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);
        }
コード例 #10
0
        public void ExportData(CrmServiceClient crmServiceClient, string configurationName, string filePath)
        {
            USDConfiguration usdConfiguration = GetUSDConfiguration(crmServiceClient, configurationName);

            string xmlData = usdConfiguration.XmlSerialize();

            FileHelper.CreateXmlDocument(filePath + @"\data.xml", xmlData);
        }
コード例 #11
0
        public static CRMEntity GetCRMEntity(this USDConfiguration usdConfiguration, string entityLogicalName)
        {
            if (usdConfiguration == null || usdConfiguration.CRMEntities == null)
            {
                return(null);
            }

            CRMEntity crmEntity = usdConfiguration.CRMEntities.FirstOrDefault(x => x.LogicalName == entityLogicalName);

            return(crmEntity);
        }
コード例 #12
0
        public void BeginImport(CrmServiceClient targetCrmService,
                                Guid configurationId,
                                USDConfiguration sourceUSDConfiguration,
                                USDConfiguration targetUsdConfiguration,
                                List <LookupMatchCriteria> lookupMatchCriterias)
        {
            ImportConfiguration(targetCrmService, sourceUSDConfiguration, targetUsdConfiguration);

            ImportEntityTypes(targetCrmService, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportHostedControls(targetCrmService, configurationId, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportEvents(targetCrmService, configurationId, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportScriptlets(targetCrmService, configurationId, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportEntitySearches(targetCrmService, configurationId, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportSessionLines(targetCrmService, configurationId, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportOptions(targetCrmService, configurationId, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportActions(targetCrmService, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportActionCalls(targetCrmService, configurationId, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportSubActionCalls(targetCrmService, sourceUSDConfiguration, targetUsdConfiguration);

            ImportEventActionCalls(targetCrmService, sourceUSDConfiguration, targetUsdConfiguration);

            ImportToolbars(targetCrmService, configurationId, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportToolbarButtons(targetCrmService, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportToolbarButtonActionCalls(targetCrmService, sourceUSDConfiguration, targetUsdConfiguration);

            ImportToolbarHostedControls(targetCrmService, sourceUSDConfiguration, targetUsdConfiguration);

            ImportWindowNavigationRules(targetCrmService, configurationId, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportWNRActionCalls(targetCrmService, sourceUSDConfiguration, targetUsdConfiguration);

            ImportAgentScriptTasks(targetCrmService, configurationId, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportTaskActionCalls(targetCrmService, sourceUSDConfiguration, targetUsdConfiguration);

            ImportAgentScriptAnswers(targetCrmService, configurationId, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            ImportTaskAnswers(targetCrmService, sourceUSDConfiguration, targetUsdConfiguration);

            ImportAnswerActionCalls(targetCrmService, sourceUSDConfiguration, targetUsdConfiguration);
        }
コード例 #13
0
        public void ImportConfiguration(CrmServiceClient crmService, USDConfiguration sourceUsdConfiguration,
                                        USDConfiguration targetUSDConfiguration)
        {
            CRMEntity sourceConfigurationCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_configuration");
            CRMEntity targetConfigurationCE = targetUSDConfiguration.GetCRMEntity("msdyusd_configuration");


            ImportResult configurationImportResult = _configurationRespository.ImportConfiguration(crmService,
                                                                                                   sourceUsdConfiguration,
                                                                                                   targetUSDConfiguration);

            _importResults.Add(configurationImportResult);
        }
コード例 #14
0
        public void ImportTaskAnswers(CrmServiceClient crmService,
                                      USDConfiguration sourceUsdConfiguration,
                                      USDConfiguration targetUSDConfiguration)
        {
            CRMEntity sourceTaskAnswersCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_task_answer");
            CRMEntity targetTaskAnswersCE = targetUSDConfiguration.GetCRMEntity("msdyusd_task_answer");


            ImportResult taskAnswersImportResult = _taskAnswerRepository.ImportTaskAnswers(crmService,
                                                                                           sourceTaskAnswersCE,
                                                                                           targetTaskAnswersCE);

            _importResults.Add(taskAnswersImportResult);
        }
コード例 #15
0
        public void ImportToolbarHostedControls(CrmServiceClient crmService,
                                                USDConfiguration sourceUsdConfiguration,
                                                USDConfiguration targetUSDConfiguration)
        {
            CRMEntity sourceToolbarHostedControlsCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_toolbarstrip_uii_hostedapplication");
            CRMEntity targetToolbarHostedControlsCE = targetUSDConfiguration.GetCRMEntity("msdyusd_toolbarstrip_uii_hostedapplication");


            ImportResult toolbarHostedControlsImportResult = _toolbarHostedControlRepository.ImportToolbarHostedControls(crmService,
                                                                                                                         sourceToolbarHostedControlsCE,
                                                                                                                         targetToolbarHostedControlsCE);


            _importResults.Add(toolbarHostedControlsImportResult);
        }
コード例 #16
0
        public void ImportToolbarButtonActionCalls(CrmServiceClient crmService,
                                                   USDConfiguration sourceUsdConfiguration,
                                                   USDConfiguration targetUSDConfiguration)
        {
            CRMEntity sourceToolbarButtonActionCallsCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_toolbarbutton_agentscriptaction");
            CRMEntity targetToolbarButtonActionCallsCE = targetUSDConfiguration.GetCRMEntity("msdyusd_toolbarbutton_agentscriptaction");


            ImportResult toolbarButtonActionCallsImportResult = _toolbarButtonActionCallRepository.ImportToolbarButtonActionCalls(crmService,
                                                                                                                                  sourceToolbarButtonActionCallsCE,
                                                                                                                                  targetToolbarButtonActionCallsCE);


            _importResults.Add(toolbarButtonActionCallsImportResult);
        }
コード例 #17
0
        public void ImportSubActionCalls(CrmServiceClient crmService,
                                         USDConfiguration sourceUsdConfiguration,
                                         USDConfiguration targetUSDConfiguration)
        {
            CRMEntity sourceSubActionCallsCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_subactioncalls");
            CRMEntity targetSubActionCallsCE = targetUSDConfiguration.GetCRMEntity("msdyusd_subactioncalls");


            ImportResult subActionCallsImportResult = _subActionCallsRepository.ImportSubActionCalls(crmService,
                                                                                                     sourceSubActionCallsCE,
                                                                                                     targetSubActionCallsCE);



            _importResults.Add(subActionCallsImportResult);
        }
コード例 #18
0
        public void ImportAnswerActionCalls(CrmServiceClient crmService,
                                            USDConfiguration sourceUsdConfiguration,
                                            USDConfiguration targetUSDConfiguration)
        {
            CRMEntity sourceAnswerActionCallsCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_answer_agentscriptaction");
            CRMEntity targetAnswerActionCallsCE = targetUSDConfiguration.GetCRMEntity("msdyusd_answer_agentscriptaction");


            ImportResult answerActionCallsImportResult = _answerActionCallRepository.ImportAnswerActionCalls(crmService,
                                                                                                             sourceAnswerActionCallsCE,
                                                                                                             targetAnswerActionCallsCE);



            _importResults.Add(answerActionCallsImportResult);
        }
コード例 #19
0
        public void ImportWNRActionCalls(CrmServiceClient crmService,
                                         USDConfiguration sourceUsdConfiguration,
                                         USDConfiguration targetUSDConfiguration)
        {
            CRMEntity sourceWNRActionCallsCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_windowroute_agentscriptaction");
            CRMEntity targetWNRActionCallsCE = targetUSDConfiguration.GetCRMEntity("msdyusd_windowroute_agentscriptaction");


            ImportResult wnrActionCallsImportResult = _wnrActionCallrepository.ImportWNRActionCalls(crmService,
                                                                                                    sourceWNRActionCallsCE,
                                                                                                    targetWNRActionCallsCE);



            _importResults.Add(wnrActionCallsImportResult);
        }
コード例 #20
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);
        }
コード例 #21
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);
        }
コード例 #22
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);
        }
コード例 #23
0
        public void ImportData(CrmServiceClient targetCrmService, string dataFilePath, string logFilePath, List <LookupMatchCriteria> lookupMatchCriterias)
        {
            PluginStepStateChanger pluginStateChanger = new PluginStepStateChanger();
            string           xmlData = File.ReadAllText(dataFilePath);
            USDConfiguration sourceUSDConfiguration = xmlData.XmlDeSerialize <USDConfiguration>();

            if (sourceUSDConfiguration == null || sourceUSDConfiguration.CRMEntities == null)
            {
                throw new Exception("Empty or invalid configuration. Please check the import data file.");
            }

            List <String> usdAssemblies = GetUSDAssemblies();


            USDConfiguration targetUsdConfiguration = _exportDataService.GetUSDConfiguration(targetCrmService, sourceUSDConfiguration.Name);

            if (lookupMatchCriterias == null)
            {
                lookupMatchCriterias = _crmRepository.GetDefaultLookupMatchCriterias();
            }


            Guid configurationId = sourceUSDConfiguration.CRMEntities.First(x => x.LogicalName == "msdyusd_configuration").CRMRecords[0].Id;

            bool pluginsDisabled = pluginStateChanger.DisablePlugins(targetCrmService, usdAssemblies);

            if (!pluginsDisabled)
            {
                throw new Exception("Unable to disbaled plugins. Import process cannot continue");
            }


            BeginImport(targetCrmService, configurationId, sourceUSDConfiguration, targetUsdConfiguration, lookupMatchCriterias);

            pluginStateChanger.EnablePlugins(targetCrmService, usdAssemblies);

            GenerateLogs(logFilePath);
        }
コード例 #24
0
        public ImportResult ImportConfiguration(IOrganizationService targetCrmService, USDConfiguration sourceUsdConfiguration, USDConfiguration targetUSDConfiguration)
        {
            ImportResult importresult = new ImportResult();

            importresult.EntityLogicalName = "msdyusd_configuration";

            CRMEntity sourceConfigurationCE = sourceUsdConfiguration.GetCRMEntity("msdyusd_configuration");
            CRMEntity targetConfigurationCE = targetUSDConfiguration.GetCRMEntity("msdyusd_configuration");

            Entity sourceConfigurationEnt = sourceConfigurationCE.CRMRecords[0].ToEntity(null);

            if (targetConfigurationCE == null)
            {
                targetCrmService.Create(sourceConfigurationEnt);
                importresult.CreateCount = 1;
            }
            else
            {
                Entity targetConfigurationEnt = targetConfigurationCE.CRMRecords[0].ToEntity(null);

                Entity modifiedEntity = sourceConfigurationEnt.GetModifiedEntity(targetConfigurationEnt);

                targetCrmService.Update(modifiedEntity);

                importresult.UpdateCount = 1;
            }

            importresult.TotalProcessed = 1;
            importresult.SuccessCount   = 1;
            importresult.EndedOn        = DateTime.Now;

            return(importresult);
        }
コード例 #25
0
        public USDConfiguration GetUSDConfiguration(CrmServiceClient crmService, string configurationName)
        {
            CRMEntity configurationCE = _configurationRepository.GetConfigurationEntity(crmService, configurationName);

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

            AddToCollection(configurationCE);

            EntityReference configurationER = configurationCE.CRMRecords[0].ToEntityReference();



            CRMEntity hostedControlsCE = _hostedControlRepository.GetHostedControls(crmService, configurationER);

            AddToCollection(hostedControlsCE);

            CRMEntity entityTypesCE = _entityTypeRepository.GetEntityTypes(crmService);

            AddToCollection(entityTypesCE);

            CRMEntity eventsCE = _eventrepository.GetEvents(crmService, configurationER);

            AddToCollection(eventsCE);


            CRMEntity scriptletsCE = _scriptletRepository.GetScriptlets(crmService, configurationER);

            AddToCollection(scriptletsCE);


            CRMEntity entitySearchesCE = _entitySearchRepository.GetEntitySearches(crmService, configurationER);

            AddToCollection(entitySearchesCE);

            CRMEntity sessionLinesCE = _sessionLineRepository.GetSessionLines(crmService, configurationER);

            AddToCollection(sessionLinesCE);

            CRMEntity optionCE = _optionRepository.GetOptions(crmService, configurationER);

            AddToCollection(optionCE);


            CRMEntity actionCE = _actionRepository.GetActions(crmService, configurationER);

            AddToCollection(actionCE);

            CRMEntity actionCallCE = _actionCallrepository.GetActionCalls(crmService, configurationER);

            AddToCollection(actionCallCE);

            CRMEntity subActionCallsCE = _subActionCallsRepository.GetSubActionCalls(crmService, actionCallCE);

            AddToCollection(subActionCallsCE);

            CRMEntity eventActionCallsCE = _eventActionCallRepository.GetEventActionCalls(crmService, eventsCE, actionCallCE);

            AddToCollection(eventActionCallsCE);

            CRMEntity toolbarsCE = _toolbarRepository.GetToolbars(crmService, configurationER);

            AddToCollection(toolbarsCE);

            CRMEntity toolbarButtonsCE = _toolbarButtonRepository.GetToolbarButtons(crmService, configurationER);

            AddToCollection(toolbarButtonsCE);

            CRMEntity toolbarButtonActionCallsCE = _toolbarButtonActionCallRepository.GetToolbarButtonActionCalls(crmService, toolbarButtonsCE, actionCallCE);

            AddToCollection(toolbarButtonActionCallsCE);


            CRMEntity toolbarHostedControlsCE = _toolbarHostedControlRepository.GetToolbarHostedControls(crmService, toolbarsCE, hostedControlsCE);

            AddToCollection(toolbarHostedControlsCE);


            CRMEntity windowNavigationRulesCE = _wnrRepository.GetWindowNavigationRules(crmService, configurationER);

            AddToCollection(windowNavigationRulesCE);


            CRMEntity navigationRulesActionCallsCE = _wnrActionCallrepository.GetWNRActionCalls(crmService, windowNavigationRulesCE, actionCallCE);

            AddToCollection(navigationRulesActionCallsCE);


            CRMEntity agentScriptTasksCE = _agentScriptTaskRepository.GetAgentScriptTasks(crmService, configurationER);

            AddToCollection(agentScriptTasksCE);

            CRMEntity taskActionCallsCE = _taskActionCallRepository.GetTaskActionCalls(crmService, agentScriptTasksCE, actionCallCE);

            AddToCollection(taskActionCallsCE);

            CRMEntity taskAnswersCE = _taskAnswerRepository.GetTaskAnswers(crmService, agentScriptTasksCE);

            AddToCollection(taskAnswersCE);


            CRMEntity agentScriptAnswersCE = _agentScriptAnswerRepository.GetAgentScriptAnswers(crmService, taskAnswersCE);

            AddToCollection(agentScriptAnswersCE);

            CRMEntity answerActionCallsCE = _answerActionCallRepository.GetAnswerActionCalls(crmService, agentScriptAnswersCE, actionCallCE);

            AddToCollection(answerActionCallsCE);

            USDConfiguration usdConfiguration = new USDConfiguration {
                CRMEntities = _crmEntities, Name = configurationName
            };

            return(usdConfiguration);
        }