Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
 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)));
        }