コード例 #1
0
        /// <summary>
        /// Resets binding.
        /// </summary>
        public static void Reset(this IBindingSettings settings)
        {
            Guard.NotNull(() => settings, settings);

            settings.TypeId = BindingSettings.Empty;
            settings.Properties.Clear();
        }
コード例 #2
0
ファイル: BindingFactory.cs プロジェクト: dbremner/nupattern
        public IDynamicBinding <T> CreateBinding <T>(IBindingSettings settings)
            where T : class
        {
            Guard.NotNull(() => settings, settings);

            var delegatingComposition = new DelegatingCompositionService(this.compositionService);

            return(new DynamicBinding <T>(
                       delegatingComposition,
                       settings.TypeId,
                       this.GetPropertyBindings(settings.Properties, delegatingComposition)));
        }
コード例 #3
0
        public static Type FindBoundType <TInterface>(this IBindingSettings settings, ILookup <string, Type> allComponents, ValidationContext context)
        {
            Guard.NotNull(() => settings, settings);
            Guard.NotNull(() => allComponents, allComponents);
            Guard.NotNull(() => context, context);

            if (string.IsNullOrEmpty(settings.TypeId))
            {
                return(null);
            }

            // Feature components live in the feature runtime decorating catalog that exposes the
            // ExportingType, so that we don't have to instantiate the target type in order to be able
            // to know its type.
            var boundType = allComponents[settings.TypeId].FirstOrDefault();

            if (boundType == null)
            {
                boundType = context.TryGetProjectComponentType <TInterface>(settings.TypeId);
            }

            return(boundType);
        }
コード例 #4
0
 public static void UpdateBindingSettingsFields(this IBindingSettings bindingSettings, Item item)
 {
     item.Fields[BindingTokenParam]?.SetValue(bindingSettings.BindingToken, true);
     item.Fields[PrefillBindingValueParam]?.SetValue(bindingSettings.PrefillBindingValue ? "1" : string.Empty, true);
     item.Fields[StoreBindingValueParam]?.SetValue(bindingSettings.StoreBindingValue ? "1" : string.Empty, true);
 }
コード例 #5
0
 public static void InitBindingSettingsProperties(this IBindingSettings bindingSettings, Item item)
 {
     bindingSettings.BindingToken        = StringUtil.GetString(item.Fields[BindingTokenParam]);
     bindingSettings.PrefillBindingValue = MainUtil.GetBool(item.Fields[PrefillBindingValueParam]?.Value, false);
     bindingSettings.StoreBindingValue   = MainUtil.GetBool(item.Fields[StoreBindingValueParam]?.Value, false);
 }
コード例 #6
0
        /// <summary>
        /// Determines whether the binding is configured.
        /// </summary>
        public static bool IsConfigured(this IBindingSettings settings)
        {
            Guard.NotNull(() => settings, settings);

            return(!string.IsNullOrEmpty(settings.TypeId));
        }
 public static void InitBindingSettingsProperties(this IBindingSettings bindingSettings, Item item)
 {
     bindingSettings.StoreBindingValue = MainUtil.GetBool(item.Fields[StoreBindingValueParam]?.Value, false);
 }