private static int Count(OrderSearchSetting settings) { StringBuilder sbCondition = new StringBuilder(" SELECT COUNT(*) FROM Orders WITH(NOLOCK) WHERE 1 = 1"); if (!string.IsNullOrEmpty(settings.CompanyName)) { sbCondition.Append(" AND OrderCompanyName LIKE '%'+@CompanyName+'%'"); } if (!string.IsNullOrEmpty(settings.OrderNumber)) { sbCondition.Append(" AND OrderNumber = @OrderNumber"); } if (settings.ShowDeleted) { sbCondition.Append(" AND IsDeleted = 0 "); } SqlParameter[] parms = { new SqlParameter("@CompanyName", SqlDbType.NVarChar), new SqlParameter("@OrderNumber", SqlDbType.NVarChar) }; parms[0].Value = settings.CompanyName; parms[1].Value = settings.OrderNumber; return(Convert.ToInt32(Goodspeed.Library.Data.SQLPlus.ExecuteScalar(CommandType.Text, sbCondition.ToString(), parms))); }
public static IPageOfList <OrderInfo> List(OrderSearchSetting settings) { FastPaging fp = new FastPaging(); fp.PageIndex = settings.PageIndex; fp.PageSize = settings.PageSize; fp.TableName = "Orders"; fp.TableReName = "p"; fp.PrimaryKey = "ID"; fp.QueryFields = "p.*"; StringBuilder sbCondition = new StringBuilder(" 1 = 1"); if (!string.IsNullOrEmpty(settings.CompanyName)) { sbCondition.Append(" AND OrderCompanyName LIKE '%'+@CompanyName+'%'"); } if (!string.IsNullOrEmpty(settings.OrderNumber)) { sbCondition.Append(" AND OrderNumber = @OrderNumber"); } if (!settings.ShowDeleted) { sbCondition.Append(" AND IsDeleted = 0 "); } fp.Condition = sbCondition.ToString(); fp.OverOrderBy = " CreateDateTime DESC"; SqlParameter[] parms = { new SqlParameter("@CompanyName", SqlDbType.NVarChar), new SqlParameter("@OrderNumber", SqlDbType.NVarChar) }; parms[0].Value = settings.CompanyName; parms[1].Value = settings.OrderNumber; IList <OrderInfo> list = new List <OrderInfo>(); OrderInfo model = null; DataTable dt = Goodspeed.Library.Data.SQLPlus.ExecuteDataTable(CommandType.Text, fp.Build2005(), parms); if (dt != null && dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { model = Get(dr); if (model != null) { list.Add(model); } } } int count = Count(settings); return(new PageOfList <OrderInfo>(list, settings.PageIndex, settings.PageSize, count)); }
public static IPageOfList <OrderInfo> List(OrderSearchSetting settings) { return(OrderManage.List(settings)); }