private string GetOp(SqlWhereFilter filter) { if (filter.Value is string && filter.Value == "#NULL#") { if (filter.Op == SqlWhereFilter.Operator.EqualTo) { return("IS"); } else if (filter.Op == SqlWhereFilter.Operator.DifferentThan) { return("IS NOT"); } } if (filter.Op == SqlWhereFilter.Operator.EqualTo) { return("="); } else if (filter.Op == SqlWhereFilter.Operator.DifferentThan) { return("!="); } else if (filter.Op == SqlWhereFilter.Operator.GreaterOrEqualTo) { return(">="); } else if (filter.Op == SqlWhereFilter.Operator.GreaterThan) { return(">"); } else if (filter.Op == SqlWhereFilter.Operator.LessThanOrEqualTo) { return("<="); } else if (filter.Op == SqlWhereFilter.Operator.LessThan) { return("<"); } else if (filter.Op == SqlWhereFilter.Operator.In) { return("IN"); } else if (filter.Op == SqlWhereFilter.Operator.Contains) { return("LIKE"); } else { throw new ArgumentOutOfRangeException(filter.Op.ToString()); } }
private string GetValue(SqlWhereFilter filter) { if (filter.Op == SqlWhereFilter.Operator.In) { if (filter.InValues != null && filter.InValues.Any()) { var sb = new StringBuilder(); foreach (var item in filter.InValues) { sb.Append($"'{item}',"); } return("(" + sb.ToString().TrimEnd(',') + ")"); } else { return($"({filter.Value})"); } } else { if (filter.Value is string) { if (filter.Value.ToString() != "#NULL#") { return($"'{filter.Value}'"); } else { return($"NULL"); } } else { return($"{filter.Value}"); } } }