public override bool ValidateAttributeValue(IPresetItem argumentValue) { if (argumentValue?.DisplayValue == null) { return(true); } var valid = double.TryParse(argumentValue.DisplayValue, NumberStyles.Any, CultureInfo.InvariantCulture, out var value); return(valid && value <= long.MaxValue && value >= long.MinValue); }
public override bool ValidateAttributeValue(IPresetItem argumentValue) { return(base.ValidateAttributeValue(argumentValue) && !string.IsNullOrEmpty(argumentValue?.DisplayValue)); }
private int GetPresetArgumentLength(string expressionString, ISearchExpressionContext context, out IPresetItem validItem) { var presetItems = GetPresetItems(context); var presetArgumentLength = -1; validItem = null; foreach (var item in presetItems) { var itemValue = context.IsInvariantCulture ? item.Id : item.DisplayValue; if (itemValue == null) { continue; } if (expressionString.StartsWith(itemValue, StringComparison.InvariantCultureIgnoreCase) && itemValue.Length > presetArgumentLength) { if (expressionString.Length == itemValue.Length) { presetArgumentLength = itemValue.Length; validItem = item; } else { foreach (var validTail in ValidNexts.OfType <IKeywordToken>()) { var keywordAlias = context.IsInvariantCulture ? validTail.SerializationAlias : validTail.Alias; var validTailIndex = expressionString.IndexOf(keywordAlias, itemValue.Length, StringComparison.InvariantCultureIgnoreCase); if (validTailIndex == itemValue.Length) { presetArgumentLength = itemValue.Length; validItem = item; break; } } if (presetArgumentLength == -1) { presetArgumentLength = itemValue.Length; validItem = item; } } } } return(presetArgumentLength); }
protected virtual bool GetArgumentValue(string expressionString, ISearchExpressionContext context, out IPresetItem value) { IPresetItem validItem; var presetArgumentLength = GetPresetArgumentLength(expressionString, context, out validItem); if (presetArgumentLength > 0) { value = validItem; return(true); } value = new PresetItem(null, expressionString.Substring(0, GetArgumentLegth(expressionString, AllowCustomValues))); return(AllowCustomValues); }
protected internal void SetValue(IPresetItem value) { _id = value.Id; _value = value.DisplayValue; }
public virtual bool ValidateAttributeValue(IPresetItem argumentValue) { return(true); }