public StandardFunctionParameterProfile( string name, Type type, bool isRequired, BaseValueProvider fallbackValueProvider, WidgetFunctionProvider widgetFunctionProvider, string customResourceHandleNamespace) : this(name, type, isRequired, fallbackValueProvider, widgetFunctionProvider) { this.CustomResourceHandleNamespace = customResourceHandleNamespace; }
public StandardFunctionParameterProfile( string name, Type type, bool isRequired, BaseValueProvider fallbackValueProvider, WidgetFunctionProvider widgetFunctionProvider, string customResourceHandleNamespace) : this(name,type,isRequired,fallbackValueProvider, widgetFunctionProvider) { this.CustomResourceHandleNamespace = customResourceHandleNamespace; }
/// <exclude /> public ParameterProfile( string name, Type type, bool isRequired, BaseValueProvider fallbackValueProvider, WidgetFunctionProvider widgetFunctionProvider, Dictionary<string,object> widgetFunctionRuntimeParameters, string label, HelpDefinition helpDefinition) : this(name, type, isRequired, fallbackValueProvider, widgetFunctionProvider, label, helpDefinition) { _widgetFunctionRuntimeParameters = widgetFunctionRuntimeParameters; }
/// <exclude /> public ParameterProfile( string name, Type type, bool isRequired, BaseValueProvider fallbackValueProvider, WidgetFunctionProvider widgetFunctionProvider, string label, HelpDefinition helpDefinition, bool hideInSimpleView) { Verify.ArgumentNotNull(name, "name"); Verify.ArgumentNotNull(type, "type"); Verify.ArgumentNotNull(fallbackValueProvider, "fallbackValueProvider"); Verify.ArgumentCondition(!label.IsNullOrEmpty(), "label", "label may not be null or an empty string"); Verify.ArgumentNotNull(helpDefinition, "helpDefinition"); this.Name = name; this.Type = type; this.IsRequired = isRequired && (!type.IsGenericType || type.GetGenericTypeDefinition() != typeof(NullableDataReference<>)); this.FallbackValueProvider = fallbackValueProvider; _widgetFunctionProvider = widgetFunctionProvider; this.Label = label; this.HelpDefinition = helpDefinition; this.HideInSimpleView = hideInSimpleView; }
public StandardFunctionParameterProfile( string name, Type type, bool isRequired, BaseValueProvider fallbackValueProvider, WidgetFunctionProvider widgetFunctionProvider) { this.Name = name; this.Type = type; this.IsRequired = isRequired; this.FallbackValueProvider = fallbackValueProvider; this.WidgetFunctionProvider = widgetFunctionProvider; }
protected override async Task <IValueProvider> BuildAsync(TAttribute attrResolved, ValueBindingContext context) { // set FileAccess beofre calling into the converter. Don't want converters to need to deal with a null FileAccess. SetFileAccessFromAttribute(attrResolved, _targetFileAccess); var builder = this._parent._builder; Func <Task <Stream> > buildStream = async() => (Stream) await builder(attrResolved, null, context); BaseValueProvider valueProvider = (BaseValueProvider)Activator.CreateInstance(_typeValueProvider, _converter); var invokeString = this.Cloner.GetInvokeString(attrResolved); await valueProvider.InitAsync(buildStream, _userType, _parent, invokeString); return(valueProvider); }
public MvcFunctionBuilder AddParameter(string name, Type type = null, bool?isRequired = null, BaseValueProvider defaultValueProvider = null, string label = null, string helpText = null, WidgetFunctionProvider widgetFunctionProvider = null, bool hideInSimpleView = false) { Verify.ArgumentNotNullOrEmpty(name, "name"); var info = _function.GetParameterInformation().FirstOrDefault(p => string.Equals(p.Name, name, StringComparison.OrdinalIgnoreCase)); var reflectedInfo = info != null?GetParameterDefaults(info) : null; if (type == null) { Verify.IsNotNull(reflectedInfo, "Failed to find the type of the parameter '{0}' through reflection", name); type = reflectedInfo.Type; } if (label == null) { label = name; } if (helpText == null) { helpText = String.Empty; } bool isRequired2 = isRequired ?? reflectedInfo?.IsRequired ?? false; if (defaultValueProvider == null) { defaultValueProvider = reflectedInfo != null ? (BaseValueProvider) new ConstantValueProvider(reflectedInfo.DefaultValue) : new NoValueValueProvider(); } widgetFunctionProvider = widgetFunctionProvider ?? StandardWidgetFunctions.GetDefaultWidgetFunctionProviderByType(type, isRequired2); _function.AddParameter(new ParameterProfile(name, type, isRequired2, defaultValueProvider, widgetFunctionProvider, label, new HelpDefinition(helpText), hideInSimpleView)); return(this); }
/// <summary>Construct an instance.</summary> /// <param name="type">The condition type.</param> /// <param name="value">Get the current value.</param> /// <param name="saveReader">Handles reading info from the current save.</param> /// <param name="mayReturnMultipleValues">Whether the root may contain multiple values.</param> /// <param name="allowedValues">The allowed values (or <c>null</c> if any value is allowed).</param> public PerPlayerValueProvider(ConditionType type, Func <Farmer, string?> value, TokenSaveReader saveReader, bool mayReturnMultipleValues = false, IEnumerable <string>?allowedValues = null) : this(type, player => BaseValueProvider.WrapOptionalValue(value(player)), saveReader, mayReturnMultipleValues, allowedValues) { }
//public CacheLevel Cacheability //{ // get { return CacheLevel.notCacheable; } //} /// <summary> /// Get Property out of NameValueCollection /// </summary> /// <param name="strPropertyName"></param> /// <param name="strFormat"></param> /// <param name="formatProvider"></param> /// <param name="AccessingUser"></param> /// <param name="AccessLevel"></param> /// <param name="PropertyNotFound"></param> /// <returns></returns> public string GetProperty(string strPropertyName, string strFormat, CultureInfo formatProvider, /*UserInfo AccessingUser,*/ /*Scope AccessLevel,*/ ref bool PropertyNotFound) { // Return empty string if Entity is null if (_entity == null) { return(string.Empty); } // 2015-04-25 - 2dm - must discuss w/2rm // Looks like very duplicate code! Try this instead // return _entity.GetEntityValue(strPropertyName); var outputFormat = strFormat == string.Empty ? "g" : strFormat; bool propertyNotFound = false; // 2015-05-04 2dm added functionality for repeater-infos string repeaterHelper = null; if (RepeaterIndex > -1 && strPropertyName.StartsWith(RepeaterSubToken + ":", StringComparison.OrdinalIgnoreCase)) { switch (strPropertyName.Substring(RepeaterSubToken.Length + 1).ToLower()) { case "index": repeaterHelper = (RepeaterIndex).ToString(); break; case "index1": repeaterHelper = (RepeaterIndex + 1).ToString(); break; case "alternator2": repeaterHelper = (RepeaterIndex % 2).ToString(); break; case "alternator3": repeaterHelper = (RepeaterIndex % 3).ToString(); break; case "alternator4": repeaterHelper = (RepeaterIndex % 4).ToString(); break; case "alternator5": repeaterHelper = (RepeaterIndex % 5).ToString(); break; case "isfirst": repeaterHelper = (RepeaterIndex == 0) ? "First" : ""; break; case "islast": repeaterHelper = (RepeaterIndex == RepeaterTotal - 1) ? "Last" : ""; break; case "count": repeaterHelper = RepeaterTotal.ToString(); break; } } var valueObject = repeaterHelper ?? _entity.GetEntityValue(strPropertyName, out propertyNotFound); if (!propertyNotFound && valueObject != null) { switch (valueObject.GetType().Name) { case "String": return(BaseValueProvider.FormatString((string)valueObject, strFormat)); case "Boolean": return(((bool)valueObject).ToString(formatProvider).ToLower()); case "DateTime": case "Double": case "Single": case "Int32": case "Int64": case "Decimal": return(((IFormattable)valueObject).ToString(outputFormat, formatProvider)); default: return(BaseValueProvider.FormatString(valueObject.ToString(), strFormat)); } } #region Check for Navigation-Property (e.g. Manager:Name) if (strPropertyName.Contains(':')) { var propertyMatch = Regex.Match(strPropertyName, "([a-z]+):([a-z]+)", RegexOptions.IgnoreCase); if (propertyMatch.Success) { valueObject = _entity.GetEntityValue(propertyMatch.Groups[1].Value, out propertyNotFound); if (!propertyNotFound && valueObject != null) { #region Handle Entity-Field (List of DynamicEntity) var list = valueObject as List <DynamicEntity>; var entity = list != null?list.FirstOrDefault() : null; if (entity == null) { entity = valueObject as DynamicEntity; } if (entity != null) { return(new DynamicEntityPropertyAccess(null, entity).GetProperty(propertyMatch.Groups[2].Value, string.Empty, formatProvider, /*AccessingUser,*/ /*AccessLevel,*/ ref propertyNotFound)); } #endregion return(string.Empty); } } } #endregion PropertyNotFound = true; return(string.Empty); }
/// <exclude /> public ParameterProfile(string name, Type type, bool isRequired, BaseValueProvider fallbackValueProvider, WidgetFunctionProvider widgetFunctionProvider, string label, HelpDefinition helpDefinition) : this(name, type, isRequired, fallbackValueProvider, widgetFunctionProvider, label, helpDefinition, false) { }