コード例 #1
0
        internal static IProperties AutoMap(this IProperties existingProperties, Type documentType, IPropertyVisitor visitor = null,
                                            int maxRecursion = 0
                                            )
        {
            var properties     = new Properties();
            var autoProperties = new PropertyWalker(documentType, visitor, maxRecursion).GetProperties();

            foreach (var autoProperty in autoProperties)
            {
                properties[autoProperty.Key] = autoProperty.Value;
            }

            if (existingProperties == null)
            {
                return(properties);
            }

            // Existing/manually mapped properties always take precedence
            foreach (var existing in existingProperties)
            {
                properties[existing.Key] = existing.Value;
            }

            return(properties);
        }
コード例 #2
0
        private void UpdateMapping()
        {
            var properties        = new PropertyWalker(typeof(TuKhoa), null).GetProperties();
            var propertiesToIndex = new Dictionary <PropertyName, IProperty>();

            propertiesToIndex.Add("query", new PercolatorProperty());
            var request = new PutMappingRequest <TuKhoa>()
            {
                Properties = new Properties(propertiesToIndex)
            };

            var putMappingResponse = client.Map(request);
        }
コード例 #3
0
        protected override void OnDataContextChanged(FrameworkElement element, object dataContext)
        {
            IDefinition definition = null;

            if (dataContext != null)
            {
                var manager = element.FindSettingsManager();

                var id = PropertyWalker.GetDefinitionId(dataContext, Path);

                definition = manager.GetDefinition(id);
            }

            ((IHaveSettings)element).Settings = definition;
        }
コード例 #4
0
        protected override bool OnResolvableDataContextChanged(ContentControl element, object dataContext)
        {
            if (dataContext == null)
            {
                element.Content = "";
                return(false);
            }

            var manager = element.FindSettingsManager();

            var id         = PropertyWalker.GetDefinitionId(dataContext, Path);
            var definition = manager.GetDefinition(id);

            var label = definition.Label;

            if (_appendColon)
            {
                label += ":";
            }

            element.Content = label;
            return(true);
        }
コード例 #5
0
        protected override void Initialize(SonarAnalysisContext context)
        {
            context.RegisterSyntaxNodeActionInNonGenerated(
                c =>
            {
                var property = (PropertyDeclarationSyntax)c.Node;

                var body = GetPropertyBody(property);
                if (body == null)
                {
                    return;
                }

                var walker = new PropertyWalker(c.SemanticModel);

                walker.SafeVisit(body);

                foreach (var location in walker.Locations)
                {
                    c.ReportDiagnosticWhenActive(Diagnostic.Create(s2365, location, property.Identifier.Text));
                }
            },
                SyntaxKind.PropertyDeclaration);
        }