//All other methods just use default implementation:

        public bool GenerateAttribute(AttributeMetadata attributeMetadata, IServiceProvider services)
        {
            if (SUPRESSMAPPEDSTANDARDOPTIONSETPROPERTIES)
            {
                var entity = _validEntities[attributeMetadata.EntityLogicalName.ToLowerInvariant()];
                if (entity.Optionsets != null && entity.Optionsets.Length > 0)
                {
                    var me = (from op in entity.Optionsets
                              where op.Logicalname == attributeMetadata.LogicalName
                              select op).SingleOrDefault();
                    if (me != null)
                    {
                        if (attributeMetadata is Microsoft.Xrm.Sdk.Metadata.MultiSelectPicklistAttributeMetadata)
                        {
                            me.Multi = true;
                        }
                        else
                        {
                            me.Multi = false;
                        }

                        ATTRIBUTE_SCHEMANAME_MAP.Add($"{attributeMetadata.EntityLogicalName}.{attributeMetadata.LogicalName}", attributeMetadata.SchemaName);
                        return(false);
                    }
                    else
                    {
                        return(_defaultService.GenerateAttribute(attributeMetadata, services));
                    }
                }
            }

            ATTRIBUTE_SCHEMANAME_MAP.Add($"{attributeMetadata.EntityLogicalName}.{attributeMetadata.LogicalName}", attributeMetadata.SchemaName);
            return(_defaultService.GenerateAttribute(attributeMetadata, services));
        }
 public bool GenerateAttribute(AttributeMetadata attributeMetadata, IServiceProvider services)
 {
     if (!this.IncludeEntity(attributeMetadata.EntityLogicalName))
     {
         return(false);
     }
     return(defaultService.GenerateAttribute(attributeMetadata, services));
 }
Esempio n. 3
0
        public bool GenerateAttribute(AttributeMetadata attributeMetadata, IServiceProvider services)
        {
            if (attributeMetadata.IsCustomAttribute.HasValue && attributeMetadata.IsCustomAttribute.Value)
            {
                return(false);
            }

            return(defaultService.GenerateAttribute(attributeMetadata, services));
        }
Esempio n. 4
0
        //All other methods just use default implementation:

        public bool GenerateAttribute(AttributeMetadata attributeMetadata, IServiceProvider services)
        {
            this.LoadFilterData(services);
            if (!_validEntities.ContainsKey(attributeMetadata.EntityLogicalName.ToLowerInvariant()))
            {
                return(_defaultService.GenerateAttribute(attributeMetadata, services));
            }

            if (SUPRESSMAPPEDSTANDARDOPTIONSETPROPERTIES)
            {
                var entity = _validEntities[attributeMetadata.EntityLogicalName.ToLowerInvariant()];
                if (entity.Optionsets != null && entity.Optionsets.Length > 0)
                {
                    var me = (from op in entity.Optionsets
                              where op.Logicalname == attributeMetadata.LogicalName
                              select op).SingleOrDefault();
                    if (me != null)
                    {
                        me.Multi = false;

                        ATTRIBUTE_SCHEMANAME_MAP.Add($"{attributeMetadata.EntityLogicalName}.{attributeMetadata.LogicalName}", attributeMetadata.SchemaName);
                        return(false);
                    }
                }
            }

            if (attributeMetadata is Microsoft.Xrm.Sdk.Metadata.PicklistAttributeMetadata)
            {
                if (attributeMetadata.LogicalName.ToLower() == "statecode")
                {
                    ATTRIBUTE_SCHEMANAME_MAP.Add($"{attributeMetadata.EntityLogicalName}.{attributeMetadata.LogicalName}", attributeMetadata.SchemaName);
                    return(true);
                }

                ATTRIBUTE_SCHEMANAME_MAP.Add($"{attributeMetadata.EntityLogicalName}.{attributeMetadata.LogicalName}", attributeMetadata.SchemaName);
                AddOptionSetField(attributeMetadata.EntityLogicalName.ToLower(), attributeMetadata.SchemaName);
                return(false);
            }

            ATTRIBUTE_SCHEMANAME_MAP.Add($"{attributeMetadata.EntityLogicalName}.{attributeMetadata.LogicalName}", attributeMetadata.SchemaName);
            return(_defaultService.GenerateAttribute(attributeMetadata, services));
        }
Esempio n. 5
0
        public bool GenerateAttribute(AttributeMetadata attributeMetadata, IServiceProvider services)
        {
            bool generate = _defaultService.GenerateAttribute(attributeMetadata, services);

            if (generate)
            {
                FilterElementCollection collection = new FilterElementCollection();
                collection.Clear();
                foreach (AttributeFilterElement attributeFilter in _configuration.Filtering.AttributeFilter)
                {
                    if (attributeFilter.EntityName == attributeMetadata.EntityLogicalName)
                    {
                        collection.Add(attributeFilter);
                    }
                }
                generate = DoesMatchSettings(attributeMetadata.LogicalName, "attribute", collection);
            }
            return(generate);
        }
Esempio n. 6
0
        public static EntityMetadata AddAttribute(
            this EntityMetadata entityMetadata,
            ICodeWriterFilterService filterService,
            params AttributeMetadata[] attributes
            )
        {
            foreach (var att in attributes)
            {
                att.Set(x => x.EntityLogicalName, entityMetadata.LogicalName);

                if (filterService != null)
                {
                    filterService.GenerateAttribute(att, Arg.Any <IServiceProvider>())
                    .Returns(true);
                }
            }

            var existing = entityMetadata.Attributes ?? Array.Empty <AttributeMetadata>();

            entityMetadata.Set(x => x.Attributes, existing.Union(attributes).ToArray());
            return(entityMetadata);
        }
Esempio n. 7
0
        public bool GenerateAttribute(AttributeMetadata attributeMetadata, IServiceProvider services)
        {
            var solutionEntities = services.LoadSolutionEntities();

            var generate = false;

            if (attributeMetadata.AttributeType == AttributeTypeCode.Uniqueidentifier)
            {
                generate = true;
            }
            else if (attributeMetadata.AttributeOf != null && attributeMetadata.GetType() != typeof(ImageAttributeMetadata))
            {
                generate = false;
            }
            else if (solutionEntities.Any(x => x.LogicalName == attributeMetadata.EntityLogicalName && x.IncludedFields.Any(y => y.LogicalName == attributeMetadata.LogicalName)))
            {
                generate = _defaultService.GenerateAttribute(attributeMetadata, services);
            }

            this.Debug(generate, attributeMetadata.EntityLogicalName, attributeMetadata.LogicalName);

            return(generate);
        }
Esempio n. 8
0
        //All other methods just use default implementation:

        public bool GenerateAttribute(AttributeMetadata attributeMetadata, IServiceProvider services)
        {
            return(_defaultService.GenerateAttribute(attributeMetadata, services));
        }
 public bool GenerateAttribute(AttributeMetadata attributeMetadata, IServiceProvider services)
 {
     return(codeWriterFilterService.GenerateAttribute(attributeMetadata, services));
 }