public void Apply(IMessageInitializerBuilder <TMessage, TInput> builder, IInitializerConvention convention)
 {
     if (convention.TryGetMessagePropertyInitializer <TMessage, TInput, TProperty>(_propertyName, out var initializer))
     {
         builder.Add(_propertyName, initializer);
     }
 }
        public bool Apply(IMessageInitializerBuilder <TMessage, TInput> builder, IInitializerConvention convention)
        {
            if (builder.IsInputPropertyUsed(_propertyName))
            {
                return(false);
            }

            if (convention.TryGetHeaderInitializer(_propertyName, out IHeaderInitializer <TMessage, TInput> initializer))
            {
                builder.Add(initializer);

                builder.SetInputPropertyUsed(_propertyName);
                return(true);
            }

            return(false);
        }
예제 #3
0
        public bool Apply(IMessageInitializerBuilder <TMessage, TInput> builder, IInitializerConvention convention)
        {
            if (builder.IsInputPropertyUsed(_propertyInfo.Name))
            {
                return(false);
            }

            if (!WritePropertyCache <TMessage> .CanWrite(_propertyInfo.Name))
            {
                return(false);
            }

            if (convention.TryGetPropertyInitializer <TMessage, TInput, TProperty>(_propertyInfo, out IPropertyInitializer <TMessage, TInput> initializer))
            {
                builder.Add(_propertyInfo.Name, initializer);

                builder.SetInputPropertyUsed(_propertyInfo.Name);
                return(true);
            }

            return(false);
        }