示例#1
0
 public EntityExists DoesPluginAssemblyExist(AssemblyName assemblyName)
 {
     using (var orgService = (OrganizationServiceContext)_ServiceProvider.GetOrganisationService())
     {
         var query = new QueryByAttribute(PluginAssembly.EntityLogicalName);
         query.ColumnSet = new ColumnSet(true);
         query.Attributes.AddRange("name");
         query.Values.AddRange(assemblyName.Name);
         var results = orgService.RetrieveMultiple(query);
         if (results.Entities != null && results.Entities.Count > 0)
         {
             var reference = new EntityReference(PluginAssembly.EntityLogicalName, results.Entities[0].Id);
             return(EntityExists.Yes(reference));
         }
         else
         {
             return(EntityExists.No());
         }
     }
 }
        /// <summary>
        /// Gets a subset of metadata for the specified entity, as dictated by the filters specified.
        /// </summary>
        /// <param name="entityLogicalName"></param>
        /// <param name="filters"></param>
        /// <returns></returns>
        public EntityMetadata GetEntityMetadata(string entityLogicalName, EntityFilters filters)
        {
            var metaRequest = new RetrieveEntityRequest()
            {
                EntityFilters = EntityFilters.All,
                LogicalName   = entityLogicalName
            };

            try
            {
                IOrganizationService service = _CrmServiceProvider.GetOrganisationService();
                using (service as IDisposable)
                {
                    var metaResponse = (RetrieveEntityResponse)service.Execute(metaRequest);
                    return(metaResponse.EntityMetadata);
                }
            }
            catch (Exception e)
            {
                throw new Exception("Unable to obtain CRM metadata for entity: " + entityLogicalName + " as CRM returned a fault. See inner exception for details.", e);
            }
        }
示例#3
0
 /// <summary>
 /// Ensures test entity is deleted from CRM.
 /// </summary>
 /// <param name="serviceProvider"></param>
 private void DeleteEntities(ICrmServiceProvider serviceProvider, IEnumerable <KeyValuePair <string, Guid> > entities)
 {
     using (var orgService = (OrganizationServiceContext)serviceProvider.GetOrganisationService())
     {
         foreach (var entity in entities)
         {
             try
             {
                 orgService.Execute(new DeleteRequest()
                 {
                     Target = new EntityReference()
                     {
                         LogicalName = entity.Key, Id = entity.Value
                     }
                 });
             }
             catch (Exception e)
             {
                 Debug.Write(e.Message);
                 throw;
             }
         }
     }
 }
        /// <summary>
        /// Ensures test entity is deleted from CRM.
        /// </summary>
        /// <param name="serviceProvider"></param>
        private void DeleteEntities(ICrmServiceProvider serviceProvider, IEnumerable<KeyValuePair<string, Guid>> entities)
        {
            using (var orgService = (OrganizationServiceContext)serviceProvider.GetOrganisationService())
            {
                foreach (var entity in entities)
                {
                    try
                    {
                        orgService.Execute(new DeleteRequest()
                        {
                            Target = new EntityReference() { LogicalName = entity.Key, Id = entity.Value }
                        });
                    }
                    catch (Exception e)
                    {
                        Debug.Write(e.Message);
                        throw;
                    }


                }
            }
        }