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()); }