protected ImportResult ImportM2MEntity(IOrganizationService targetCrmService, CRMEntity sourceEntitiesCE, CRMEntity targetEntitiesCE, CRMM2MEntityMapping m2mEntityMap) { DateTime startedOn = DateTime.Now; List <Entity> souceEntities = GetM2MEntities(sourceEntitiesCE, m2mEntityMap, null); List <Entity> targetEntities = GetM2MEntities(targetEntitiesCE, m2mEntityMap, null); Dictionary <string, OrganizationRequest> m2mAssociateOrDisassociateRequests = GetM2MAssociateAndDisassociateRequests(souceEntities, targetEntities, m2mEntityMap); BulkResponse bulkResponse = _bulkRequest.Write(targetCrmService, m2mAssociateOrDisassociateRequests); DateTime endedOn = DateTime.Now; ImportResult importResult = GetImportResult(bulkResponse, sourceEntitiesCE); if (string.IsNullOrWhiteSpace(importResult.EntityLogicalName) && m2mEntityMap != null) { importResult.EntityLogicalName = m2mEntityMap.IntersectEntity; } importResult.StartedOn = startedOn; importResult.EndedOn = endedOn; return(importResult); }
protected ImportResult ImportConfigurationIntersectEntity(IOrganizationService targetCrmService, Guid configurationId, CRMEntity sourceEntitiesCE, CRMEntity targetEntitiesCE, string configurationIntersectEntityName) { DateTime startedOn = DateTime.Now; List <Entity> souceEntities = GetAnswers(sourceEntitiesCE, null); List <Entity> targetEntities = GetAnswers(targetEntitiesCE, null); Dictionary <string, OrganizationRequest> associateOrDisassociateRequests = GetAssociateAndDisassociateRequests(souceEntities, targetEntities, configurationId, configurationIntersectEntityName); BulkResponse bulkResponse = _bulkRequest.Write(targetCrmService, associateOrDisassociateRequests); DateTime endedOn = DateTime.Now; ImportResult importResult = GetImportResult(bulkResponse, sourceEntitiesCE); importResult.EntityLogicalName = configurationIntersectEntityName; importResult.StartedOn = startedOn; importResult.EndedOn = endedOn; return(importResult); }
public CRMEntity GetCRMEntity(IOrganizationService service, QueryExpression query) { EntityCollection results = service.RetrieveMultiple(query); if (results != null && results.Entities != null && results.Entities.Count > 0) { List <string> entityAttributes = GetEntityAttributes(service, results.Entities[0].LogicalName); List <CRMRecord> records = new List <CRMRecord>(); foreach (Entity entity in results.Entities) { //This is needed as the fetch does not return null values in the results //This is useful in making sure that null values in source record are sent to the target record for a attribute foreach (string attribute in entityAttributes) { if (!entity.Contains(attribute)) { entity[attribute] = null; } } CRMRecord crmRecord = entity.ToCRMRecord(); records.Add(crmRecord); } CRMEntity crmEntity = new CRMEntity { CRMRecords = records, LogicalName = results.EntityName, RecordCount = results.Entities.Count }; return(crmEntity); } return(null); }
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 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); }
private void AddToCollection(CRMEntity crmEntity) { if (crmEntity != null) { _crmEntities.Add(crmEntity); } }
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 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 CRMEntity GetConfigurationEntity(IOrganizationService service, string configurationName) { QueryExpression qe = new QueryExpression("msdyusd_configuration"); qe.ColumnSet = new ColumnSet(true); qe.Criteria.AddCondition("msdyusd_name", ConditionOperator.Equal, configurationName); EntityCollection results = service.RetrieveMultiple(qe); if (results == null || results.Entities == null || results.Entities.Count != 1) { return(null); } Entity configuration = results.Entities[0]; CRMRecord crmConfigurationRecord = configuration.ToCRMRecord(); CRMEntity crmEntity = new CRMEntity { LogicalName = "msdyusd_configuration", CRMRecords = new List <CRMRecord> { crmConfigurationRecord }, RecordCount = 1 }; return(crmEntity); }
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 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 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 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); }
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); }
/* * public void ShareRecord(IOrganizationService service, Entity TargetEntity, Entity TargetShare) * { * Microsoft.Xrm.Sdk.acc * //no delete access * GrantAccessRequest grant = new GrantAccessRequest(); * grant.Target = new EntityReference(TargetEntity.LogicalName, TargetEntity.Id); * * PrincipalAccess principal = new PrincipalAccess(); * principal.Principal = new EntityReference(TargetShare.LogicalName, TargetShare.Id); * principal.AccessMask = AccessRights.ReadAccess | AccessRights.AppendAccess | AccessRights.WriteAccess | AccessRights.AppendToAccess | AccessRights.ShareAccess | AccessRights.AssignAccess; * grant.PrincipalAccess = principal; * * try * { * GrantAccessResponse grant_response = (GrantAccessResponse)service.Execute(grant); * } * catch (Exception ex) * { * throw ex; * } * } */ private List <CRMEntity> GetLists(ISiteSetting siteSetting) { IOrganizationService organizationService = GetClientContext(siteSetting); //Dictionary<string, string> attributesData = new Dictionary<string, string>(); RetrieveAllEntitiesRequest metaDataRequest = new RetrieveAllEntitiesRequest(); RetrieveAllEntitiesResponse metaDataResponse = new RetrieveAllEntitiesResponse(); metaDataRequest.EntityFilters = EntityFilters.Attributes; //XmlDictionaryReaderQuotas myReaderQuotas = new XmlDictionaryReaderQuotas(); //myReaderQuotas.MaxNameTableCharCount = 2147483647; // Execute the request. metaDataResponse = (RetrieveAllEntitiesResponse)organizationService.Execute(metaDataRequest); List <CRMEntity> entities = new List <CRMEntity>(); foreach (EntityMetadata entityMetadata in metaDataResponse.EntityMetadata) { //if (entityMetadata.IsCustomizable.Value == false) // continue; CRMEntity entity = new CRMEntity(siteSetting.ID, entityMetadata.MetadataId.Value.ToString(), entityMetadata.LogicalName, entityMetadata.SchemaName, (entityMetadata.DisplayName.UserLocalizedLabel != null ? entityMetadata.DisplayName.UserLocalizedLabel.Label : entityMetadata.SchemaName)); entity.Fields = ParseFields(entityMetadata.Attributes); entity.PrimaryIdFieldName = entityMetadata.PrimaryIdAttribute; entity.PrimaryNameFieldName = entityMetadata.PrimaryNameAttribute; //entity.PrimaryFileReferenceFieldName = entityMetadata.PrimaryImageAttribute; entities.Add(entity); } entities = (from x in entities orderby x.Title select x).ToList(); return(entities); }
public CRMEntity GetConfigurationHostedControlM2MEntity(IOrganizationService service, string fetchXml) { EntityCollection results = service.RetrieveMultiple(new FetchExpression(fetchXml)); if (results != null && results.Entities != null && results.Entities.Count > 0) { List <CRMM2MRecord> crmM2MRecords = new List <CRMM2MRecord>(); foreach (Entity entity in results.Entities) { Guid configurationId = entity.GetAttributeValue <Guid>("msdyusd_configurationid"); Guid hostedControlId = entity.GetAttributeValue <Guid>("uii_hostedapplicationid"); CRMM2MRecord m2mRecord = new CRMM2MRecord { Entity1AttributeId = configurationId, Entity1LogicalName = "msdyusd_configuration", Entity2AttributeId = hostedControlId, Entity2LogicalName = "uii_hostedapplication" }; crmM2MRecords.Add(m2mRecord); } CRMEntity crmEntity = new CRMEntity { CRMM2MRecords = crmM2MRecords, IsIntersect = true, LogicalName = results.EntityName, RecordCount = results.Entities.Count }; return(crmEntity); } return(null); }
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 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 CRMEntity GetConfigurationHostedControls(IOrganizationService service, EntityReference configuration) { string hostedControlsfetchXML = GetConfigurationHostedControlsFetchXML(configuration); CRMEntity crmEntity = GetConfigurationHostedControlM2MEntity(service, hostedControlsfetchXML); return(crmEntity); }
public CRMEntity GetActionCalls(IOrganizationService service, EntityReference configuration) { string fetchXML = GetActionCallsFetchXML(configuration); CRMEntity crmEntity = GetCRMEntity(service, fetchXML); return(crmEntity); }
public CRMEntity GetEntityTypes(IOrganizationService service) { string entityTypesfetchXML = GetEntityTypesfetchXML(service); CRMEntity crmEntity = GetCRMEntity(service, entityTypesfetchXML); return(crmEntity); }
public CRMEntity GetScriptlets(IOrganizationService service, EntityReference configuration) { string fetchXml = GetScriptletsFetchXML(configuration); CRMEntity crmEntity = GetCRMEntity(service, fetchXml); return(crmEntity); }
public CRMEntity GetEvents(IOrganizationService service, EntityReference configuration) { string eventsfetchXML = GetEventsFetchXML(configuration); CRMEntity crmEntity = GetCRMEntity(service, eventsfetchXML); return(crmEntity); }
public CRMEntity GetWindowNavigationRules(IOrganizationService service, EntityReference configuration) { string fetchXML = GetWindowNavigationRulesFetchXML(configuration); CRMEntity crmEntity = GetCRMEntity(service, fetchXML); return(crmEntity); }
public ImportResult ImportEntityTypes(IOrganizationService targetCrmService, CRMEntity sourceEntityTypesCE, CRMEntity targetEntityTypesCE, LookupMatchCriteria entityTypeMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceEntityTypesCE, targetEntityTypesCE, entityTypeMatchCriteria); return(importResult); }
public ImportResult ImportHostedControls(IOrganizationService targetCrmService, CRMEntity sourceHostedControlsCE, CRMEntity targetHostedControlsCE, LookupMatchCriteria hostedControlMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceHostedControlsCE, targetHostedControlsCE, hostedControlMatchCriteria); return(importResult); }
public ImportResult ImportScriptlets(IOrganizationService targetCrmService, CRMEntity sourceScriptletsCE, CRMEntity targetScriptletsCE, LookupMatchCriteria scriptletsMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceScriptletsCE, targetScriptletsCE, scriptletsMatchCriteria); return(importResult); }
public ImportResult ImportWindowNavigationRules(IOrganizationService targetCrmService, CRMEntity sourceWindowNavigationRulesCE, CRMEntity targetWindowNavigationRulesCE, LookupMatchCriteria windowNavigationRulesMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceWindowNavigationRulesCE, targetWindowNavigationRulesCE, windowNavigationRulesMatchCriteria); return(importResult); }
public ImportResult ImportActionCalls(IOrganizationService targetCrmService, CRMEntity sourceActionCallsCE, CRMEntity targetActionCallsCE, LookupMatchCriteria actionCallsMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceActionCallsCE, targetActionCallsCE, actionCallsMatchCriteria); return(importResult); }
public ImportResult ImportToolbars(IOrganizationService targetCrmService, CRMEntity sourceToolbarsCE, CRMEntity targetToolbarsCE, LookupMatchCriteria toolbarsMatchCriteria) { ImportResult importResult = ImportEntity(targetCrmService, sourceToolbarsCE, targetToolbarsCE, toolbarsMatchCriteria); return(importResult); }