// crm service /// <summary> /// Retrieve Entity from Crm service proxy /// </summary> /// <param name="cservice">Crm Service proxy</param> /// <param name="entityName">Entity Name</param> /// <param name="entityGuid">Entity Guid (Guid)</param> /// <returns></returns> public static DynamicEntity RetriveDynamicEntity(this CrmService cservice, String entityName, Guid entityGuid, Boolean retrieveAllColumns) { // Create/Set the Target object. TargetRetrieveDynamic targetRetrieve = new TargetRetrieveDynamic { EntityName = entityName, EntityId = (entityGuid) }; // Create/Set the Retrieve object. RetrieveRequest retrieve = new RetrieveRequest(); retrieve.Target = targetRetrieve; if (retrieveAllColumns == true) { retrieve.ColumnSet = new AllColumns(); } //// Indicate to retrieve all columns retrieve.ReturnDynamicEntities = true; // Indicate that the BusinessEntity should be retrieved as a DynamicEntity. // Execute the request. RetrieveResponse retrieved = (RetrieveResponse)cservice.Execute(retrieve); // Extract the DynamicEntity from the request. DynamicEntity retriveEntity = (DynamicEntity)retrieved.BusinessEntity; return(retriveEntity); }
public object Execute(object request) { if (request.GetType().Name == "RetrieveMultipleRequest") { RetrieveMultipleResponse response = new RetrieveMultipleResponse(); response.BusinessEntityCollection = RetrieveMultiple((( RetrieveMultipleRequest )request).Query); return(response); } else if (request.GetType().Name == "RetrieveRequest") { RetrieveResponse response = new RetrieveResponse(); RetrieveRequest retrieveRequest = ( RetrieveRequest )request; TargetRetrieve target = retrieveRequest.Target; if (target.GetType().Name == "TargetRetrieveDynamic") { TargetRetrieveDynamic trd = ( TargetRetrieveDynamic )target; response.BusinessEntity = Retrieve(trd.EntityName, trd.EntityId, retrieveRequest.ColumnSet); } else { // request sent using a specific strongly-typed business entity // rather than a DynamicEntity throw new NotImplementedException(); } return(response); } else { throw new NotImplementedException(); } }
// crm service /// <summary> /// Retrieve Entity from Crm service proxy /// </summary> /// <param name="cservice">Crm Service proxy</param> /// <param name="entityName">Entity Name</param> /// <param name="entityGuid">Entity Guid (String)</param> /// <returns></returns> public static DynamicEntity RetriveDynamicEntity(this CrmService cservice, String entityName, String entityGuid) { // Create/Set the Target object. TargetRetrieveDynamic targetRetrieve = new TargetRetrieveDynamic { EntityName = entityName, EntityId = new Guid(entityGuid) }; // Create/Set the Retrieve object. RetrieveRequest retrieve = new RetrieveRequest { Target = targetRetrieve, //ColumnSet = new AllColumns(), ReturnDynamicEntities = true // Indicate that the BusinessEntity should be retrieved as a DynamicEntity. }; // Execute the request. RetrieveResponse retrieved = (RetrieveResponse)cservice.Execute(retrieve); // Extract the DynamicEntity from the request. DynamicEntity retriveEntity = (DynamicEntity)retrieved.BusinessEntity; return(retriveEntity); }
/// <summary> /// This method is used to get attributes from a specified entity. It returns Dictionary containing all the required attributes values. /// </summary> /// <param name="entityGuid">GUID of the entity</param> /// <param name="entityName_">The entity name type (contact,lead,...)</param> ///<param name="entityAttributes">The ArrayList containing the attributes names types you want to retrieve (firstname,lastname,...)</param> public Dictionary<string, string> getEntity(Guid entityGuid, string entityName_, ArrayList entityAttributes) { Dictionary<string, string> arrayData = new Dictionary<string, string>(); try { isconnected(); ArrayList arrayResults = new ArrayList(); // Create the retrieve target. TargetRetrieveDynamic targetRetrieve = new TargetRetrieveDynamic(); // Set the properties of the target. targetRetrieve.EntityName = entityName_; targetRetrieve.EntityId = entityGuid; // Create the request object. RetrieveRequest retrieve = new RetrieveRequest(); ColumnSet col = new ColumnSet(); // Set the properties of the request object. retrieve.Target = targetRetrieve; for (int i = 0; i < entityAttributes.Count; i++) { col.AddColumn(entityAttributes[i].ToString()); } retrieve.ColumnSet = col; // Indicate that the BusinessEntity should be retrieved as a // DynamicEntity. retrieve.ReturnDynamicEntities = true; // Execute the request. RetrieveResponse retrieved = (RetrieveResponse)m_crmService.Execute(retrieve); // Extract the DynamicEntity from the request. DynamicEntity entity = (DynamicEntity)retrieved.BusinessEntity; Microsoft.Crm.Sdk.CrmDateTime crmDateTimeVar = new Microsoft.Crm.Sdk.CrmDateTime(); Microsoft.Crm.Sdk.CrmNumber crmNumberVar = new Microsoft.Crm.Sdk.CrmNumber(); Picklist crmPickList = new Picklist(); Guid crmGuid = new Guid(); Microsoft.Crm.Sdk.Key keyVar = new Microsoft.Crm.Sdk.Key(); Lookup lookupVar = new Lookup(); Microsoft.Crm.Sdk.CrmBoolean boolVar = new Microsoft.Crm.Sdk.CrmBoolean(); for (int i = 0; i < entityAttributes.Count; i++) { if (entity.Properties.Contains(entityAttributes[i].ToString())) { if (entity.Properties[entityAttributes[i].ToString()].GetType().Equals(crmDateTimeVar.GetType())) { crmDateTimeVar = (Microsoft.Crm.Sdk.CrmDateTime)entity.Properties[entityAttributes[i].ToString()]; arrayData.Add(entityAttributes[i].ToString(),crmDateTimeVar.date.ToString()); } else { if (entity.Properties[entityAttributes[i].ToString()].GetType().Equals(crmNumberVar.GetType())) { crmNumberVar = (Microsoft.Crm.Sdk.CrmNumber)entity.Properties[entityAttributes[i].ToString()]; arrayData.Add(entityAttributes[i].ToString(), crmNumberVar.Value.ToString()); } else { if (entity.Properties[entityAttributes[i].ToString()].GetType().Equals(keyVar.GetType())) { keyVar = (Microsoft.Crm.Sdk.Key)entity.Properties[entityAttributes[i].ToString()]; arrayData.Add(entityAttributes[i].ToString(), keyVar.Value.ToString()); } else { if (entity.Properties[entityAttributes[i].ToString()].GetType().Equals(lookupVar.GetType())) { lookupVar = (Microsoft.Crm.Sdk.Lookup)entity.Properties[entityAttributes[i].ToString()]; arrayData.Add(entityAttributes[i].ToString(), lookupVar.Value.ToString()); } else { if (entity.Properties[entityAttributes[i].ToString()].GetType().Equals(boolVar.GetType())) { boolVar = (Microsoft.Crm.Sdk.CrmBoolean)entity.Properties[entityAttributes[i].ToString()]; arrayData.Add(entityAttributes[i].ToString(), boolVar.Value.ToString()); } else { if (entity.Properties[entityAttributes[i].ToString()].GetType().Equals(crmPickList.GetType())) { crmPickList = (Microsoft.Crm.Sdk.Picklist)entity.Properties[entityAttributes[i].ToString()]; arrayData.Add(entityAttributes[i].ToString(), crmPickList.Value.ToString()); } else { if (entity.Properties[entityAttributes[i].ToString()].GetType().Equals(crmGuid.GetType())) { crmGuid = (Guid)entity.Properties[entityAttributes[i].ToString()]; arrayData.Add(entityAttributes[i].ToString(), crmGuid.ToString()); } else { arrayData.Add(entityAttributes[i].ToString(), entity.Properties[entityAttributes[i].ToString()].ToString()); } } } } } } } } else { arrayData.Add(entityAttributes[i].ToString(), ""); } } return arrayData; } catch (SoapException ex) { throw new InvalidPluginExecutionException("!SoapException!\n" + ex.Detail.SelectSingleNode("//description").InnerText); } catch (Exception ex) { throw new ESC_CRM_EX.getEntityException(ex.Message, entityName_, entityGuid); } }
public bool campaignExists(string campaignID) { try { isconnected(); ArrayList arrayResults = new ArrayList(); // Create the retrieve target. TargetRetrieveDynamic targetRetrieve = new TargetRetrieveDynamic(); // Set the properties of the target. targetRetrieve.EntityName = "campaign"; targetRetrieve.EntityId = new Guid(campaignID); // Create the request object. RetrieveRequest retrieve = new RetrieveRequest(); ColumnSet col = new ColumnSet(); // Set the properties of the request object. retrieve.Target = targetRetrieve; col.AddColumn("name"); retrieve.ColumnSet = col; // Indicate that the BusinessEntity should be retrieved as a // DynamicEntity. retrieve.ReturnDynamicEntities = true; // Execute the request. RetrieveResponse retrieved = (RetrieveResponse)m_crmService.Execute(retrieve); // Extract the DynamicEntity from the request. DynamicEntity entity = (DynamicEntity)retrieved.BusinessEntity; if (entity.Properties["name"].Equals(null)) return false; return true; } catch (Exception) { return false; } }