public void ToDoubleTestOrNullTest(object value, bool expected) { var actual = DoubleHelper.ToDoubleOrNull(value); var isDefaultResult = actual == null; if (!isDefaultResult) { actual = DoubleHelper.ToDoubleOrNull(value); isDefaultResult = actual == null; } Assert.Equal(expected, isDefaultResult); }
private static Expression <Func <TModel, bool> > ToDoubleValueExpression <TModel>(FilterItemModel filterItem, bool isNullable) where TModel : class { var nullableFilterValue = DoubleHelper.ToDoubleOrNull(filterItem.Value); if (!nullableFilterValue.HasValue) { throw new ArgumentException($"{filterItem.Value} is not of type {typeof(double)}."); } var filterValue = nullableFilterValue.Value; if (isNullable) { var entityParamSelector = ReflectionHelper.MemberSelector <TModel, double?>(filterItem.Column); if (filterItem.Filter == FilterType.In) { var result = filterItem.CollectionExpression(entityParamSelector, DoubleHelper.ToDoubleOrNull); if (result != null) { return(result); } } var expression = FilterExpressionHelper.GetNullableExpression(filterItem.Filter, filterValue); return(entityParamSelector.CombineSelectorParamExpression(expression)); } else { var entityParamSelector = ReflectionHelper.MemberSelector <TModel, double>(filterItem.Column); if (filterItem.Filter == FilterType.In) { var result = filterItem.CollectionExpression(entityParamSelector, DoubleHelper.ToDouble); if (result != null) { return(result); } } var expression = FilterExpressionHelper.GetExpression(filterItem.Filter, filterValue); return(entityParamSelector.CombineSelectorParamExpression(expression)); } }