// AsFieldAndParameter internal static string AsFieldAndParameter(this QueryField queryField) { if (queryField.Operation == Operation.Equal && queryField.Parameter.Value == null) { return($"{queryField.AsField()} IS NULL"); } else if (queryField.Operation == Operation.NotEqual && queryField.Parameter.Value == null) { return($"{queryField.AsField()} IS NOT NULL"); } else { var operationText = queryField.GetOperationText(); if (queryField.Operation == Operation.Between || queryField.Operation == Operation.NotBetween) { return($"{queryField.AsField()} {operationText} {queryField.AsBetweenParameter()}"); } else if (queryField.Operation == Operation.In || queryField.Operation == Operation.NotIn) { return($"{queryField.AsField()} {operationText} {queryField.AsInParameter()}"); } else { return($"{queryField.AsField()} {operationText} {queryField.AsParameter()}"); } } }
// AsFieldAndParameter internal static string AsFieldAndParameter(this QueryField queryField, int index = 0) { if (queryField.Operation == Operation.Equal && queryField.Parameter.Value == null) { return(string.Concat(queryField.AsField(), " IS NULL")); } else if (queryField.Operation == Operation.NotEqual && queryField.Parameter.Value == null) { return(string.Concat(queryField.AsField(), " IS NOT NULL")); } else { if (queryField.Operation == Operation.Between || queryField.Operation == Operation.NotBetween) { return(string.Concat(queryField.AsField(), " ", queryField.GetOperationText(), " ", queryField.AsBetweenParameter(index))); } else if (queryField.Operation == Operation.In || queryField.Operation == Operation.NotIn) { return(string.Concat(queryField.AsField(), " ", queryField.GetOperationText(), " ", queryField.AsInParameter(index))); } else { return(string.Concat(queryField.AsField(), " ", queryField.GetOperationText(), " ", queryField.AsParameter(index))); } } }
/// <summary> /// /// </summary> /// <param name="queryField"></param> /// <param name="index"></param> /// <param name="dbSetting"></param> /// <returns></returns> internal static string AsFieldAndParameterForBetween(this QueryField queryField, int index, IDbSetting dbSetting) => string.Concat(queryField.AsField(dbSetting), " ", queryField.Operation.GetText(), " ", queryField.AsBetweenParameter(index, dbSetting));