public bool GenerateEntity(EntityMetadata entityMetadata, IServiceProvider services) { if (!DefaultService.GenerateEntity(entityMetadata, services)) { return(false); } if (!EntityMetadata.ContainsKey(entityMetadata.LogicalName)) { EntityMetadata.Add(entityMetadata.LogicalName, entityMetadata); } return(!EntitiesToSkip.Contains(entityMetadata.LogicalName)); }
public bool GenerateEntity(EntityMetadata entityMetadata, IServiceProvider services) { // Some entities are not normally create (attachment for example) not sure why. Allowing Whitelist to Override here. if (!Approver.IsExplicitlyAllowed(entityMetadata.LogicalName) && !DefaultService.GenerateEntity(entityMetadata, services)) { return(false); } if (!EntityMetadata.ContainsKey(entityMetadata.LogicalName)) { EntityMetadata.Add(entityMetadata.LogicalName, entityMetadata); } return(Approver.IsAllowed(entityMetadata.LogicalName)); }
public virtual EntityMetadata GetEntityMetadata(string entity) { lock (LockObject) { if (!EntityMetadata.Any(em => em.LogicalName == entity)) { _controller.LogLiteral("Retrieving " + entity + " entity metadata"); var request = new RetrieveEntityRequest { EntityFilters = EntityFilters.Default, LogicalName = entity }; var response = (RetrieveEntityResponse)Execute(request); _controller.LogLiteral("Retrieved " + entity + " entity metadata"); EntityMetadata.Add(response.EntityMetadata); } } return(EntityMetadata.First(em => em.LogicalName == entity)); }
public bool GenerateEntity(EntityMetadata entityMetadata, IServiceProvider services) { if (!DefaultService.GenerateEntity(entityMetadata, services)) { return(false); } if (!EntityMetadata.ContainsKey(entityMetadata.LogicalName)) { EntityMetadata.Add(entityMetadata.LogicalName, entityMetadata); } // If Whitelist is populated, Skip if not in Whitelist. if (EntitiesWhitelist.Count > 0 && !EntitiesWhitelist.Contains(entityMetadata.LogicalName)) { return(false); } return(!EntitiesToSkip.Contains(entityMetadata.LogicalName) && !EntityPrefixesToSkip.Any(p => entityMetadata.LogicalName.StartsWith(p))); }