public string GetQueryParameterLinq(params IListParameter[] parameters) { var hasRowParams = WhereTerm.ResizeParameter(ref parameters, 1); if (!hasRowParams) { parameters[parameters.Length - 1] = WhereTerm.Parameter(0, DefaultValue.COLUMN_ROW_STATUS); } var query = new StringBuilder(); ListValue = new Collection <object>(); var indexpass = 0; foreach (var param in parameters) { var index = parameters.ToList().IndexOf(param) + indexpass; switch (param.ParamDataType) { case EnumParamterDataTypes.DateTime: { var date1 = Convert.ToDateTime(param.GetValue()); var fdate = new DateTime(date1.Year, date1.Month, date1.Day, 0, 0, 0); var ldate = new DateTime(date1.Year, date1.Month, date1.Day, 23, 59, 59); var fparma = WhereTerm.Parameter(fdate, param.ColumnName, SqlOperator.GreatThanEqual); var lparma = WhereTerm.Parameter(ldate, param.ColumnName, SqlOperator.LesThanEqual); query.Append(GetValueParameterLinq(fparma, index) + DefaultValue.LOGICAL_SQL); ListValue.Add(fparma.GetValue()); index++; indexpass++; query.Append(GetValueParameterLinq(lparma, index) + DefaultValue.LOGICAL_SQL); ListValue.Add(lparma.GetValue()); } break; case EnumParamterDataTypes.DateTimeRange: { query.Append(GetValueParameterLinq(param, index) + DefaultValue.LOGICAL_SQL); ListValue.Add(param.GetValue()); var date1 = Convert.ToDateTime(((IListRangeParameter)param).GetValue2()); //var ldate = new DateTime(date1.Year, date1.Month, date1.Day, 23, 59, 59); ListValue.Add(date1); indexpass++; } break; default: query.Append(GetValueParameterLinq(param, index) + DefaultValue.LOGICAL_SQL); ListValue.Add(param.GetValue()); break; } } if (query.Length != 0) { var qresult = query.ToString().Trim(); if (qresult.Substring(qresult.Length - 3, 3) == DefaultValue.LOGICAL_SQL.Trim()) { qresult = qresult.Remove(qresult.Length - 3, 3); } return(qresult); } return(query.ToString()); }
public string GetQueryParameterLinq(params IListParameter[] parameters) { var hasRowParams = WhereTerm.ResizeParameter(ref parameters, 1); if (!hasRowParams) { if (!_withoutDefault) { parameters[parameters.Length - 1] = WhereTerm.Default(true, DefaultValue.COLUMN_ROW_STATUS); } else { parameters[parameters.Length - 1] = WhereTerm.Default(0, "0", EnumSqlOperator.Equals); } } if (DefaultParameters != null) { foreach (var listParameter in DefaultParameters) { var @where = (WhereTerm)listParameter; Array.Resize(ref parameters, parameters.Length + 1); parameters[parameters.Length - 1] = where; } } var query = new StringBuilder(); ListValue = new Collection <object>(); ListClause = new Collection <string>(); var indexpass = 0; foreach (var param in parameters) { var index = parameters.ToList().IndexOf(param) + indexpass; switch (param.ParamDataType) { case EnumParameterDataTypes.DateTime: { var date1 = Convert.ToDateTime(param.Value); var fdate = new DateTime(date1.Year, date1.Month, date1.Day, 0, 0, 0); var ldate = new DateTime(date1.Year, date1.Month, date1.Day, 23, 59, 59); if (param.Operator == EnumSqlOperator.Equals) { var fparma = WhereTerm.Default(fdate, param.ColumnName, EnumSqlOperator.GreatThanEqual); var lparma = WhereTerm.Default(ldate, param.ColumnName, EnumSqlOperator.LesThanEqual); query.Append(GetValueParameterLinq(fparma, index) + DefaultValue.LOGICAL_SQL); ListValue.Add(fparma.GetValue()); index++; indexpass++; query.Append(GetValueParameterLinq(lparma, index) + DefaultValue.LOGICAL_SQL); ListValue.Add(lparma.GetValue()); } else { query.Append(GetValueParameterLinq(param, index) + DefaultValue.LOGICAL_SQL); ListValue.Add(date1); } GetValueClause(param); } break; case EnumParameterDataTypes.DateTimeRange: { query.Append(GetValueParameterLinq(param, index) + DefaultValue.LOGICAL_SQL); ListValue.Add(param.Value); var date1 = Convert.ToDateTime(((IListRangeParameter)param).GetValue2()); //var ldate = new DateTime(date1.Year, date1.Month, date1.Day, 23, 59, 59); ListValue.Add(date1); indexpass++; } break; case EnumParameterDataTypes.Guid: query.Append(GetValueParameterLinq(param, index) + DefaultValue.LOGICAL_SQL); ListValue.Add(new Guid(param.Value.ToString())); break; default: query.Append(GetValueParameterLinq(param, index) + DefaultValue.LOGICAL_SQL); ListValue.Add(param.Value); GetValueClause(param); break; } } if (query.Length != 0) { var qresult = query.ToString().Trim(); if (qresult.Substring(qresult.Length - 3, 3) == DefaultValue.LOGICAL_SQL.Trim()) { qresult = qresult.Remove(qresult.Length - 3, 3); } return(qresult); } return(query.ToString()); }