public IList <ProductDetailInfo> GetProductsListByUserName(int startRowIndexId, int maxNumberRows, string userName) { Database database = DatabaseFactory.CreateDatabase(); DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Common_GetList"); database.AddInParameter(storedProcCommand, "@StartRows", DbType.Int32, startRowIndexId); database.AddInParameter(storedProcCommand, "@PageSize", DbType.Int32, maxNumberRows); database.AddInParameter(storedProcCommand, "@SortColumn", DbType.String, "M.GeneralId"); database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String, "N.NodeName, M.EliteLevel, M.CreateTime, M.UpdateTime, M.NodeId, M.GeneralId, M.ModelId, M.LinkType, P.*"); database.AddInParameter(storedProcCommand, "@Sorts", DbType.String, "DESC"); database.AddInParameter(storedProcCommand, "@TableName", DbType.String, "PE_CommonProduct P INNER JOIN (PE_CommonModel M RIGHT JOIN PE_Nodes N ON M.NodeID= N.NodeID) ON P.ProductID = M.ItemID AND P.TableName = M.TableName AND M.Status<>-3"); database.AddInParameter(storedProcCommand, "@Filter", DbType.String, "M.Inputer = '" + DBHelper.FilterBadChar(userName) + "'"); database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, maxNumberRows); IList <ProductDetailInfo> list = new List <ProductDetailInfo>(); using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand))) { while (reader.Read()) { ProductDetailInfo productInfo = new ProductDetailInfo(); ProductFromrdr <ProductDetailInfo>(reader, productInfo); productInfo.EliteLevel = reader.GetInt32("EliteLevel"); productInfo.UpdateTime = new DateTime?(reader.GetDateTime("UpdateTime")); productInfo.CreateTime = reader.IsDBNull("CreateTime") ? productInfo.UpdateTime : new DateTime?(reader.GetDateTime("CreateTime")); productInfo.NodeName = reader.GetString("NodeName"); productInfo.NodeId = reader.GetInt32("NodeId"); productInfo.GeneralId = reader.GetInt32("GeneralId"); productInfo.ModelId = reader.GetInt32("ModelId"); productInfo.LinkType = reader.GetInt32("LinkType"); list.Add(productInfo); } } this.m_TotalOfProducts = (int)database.GetParameterValue(storedProcCommand, "@Total"); return(list); }
private IList <ProductDetailInfo> GetProductsList(int startRowIndexId, int maxNumberRows, string searchType, string keyword, string nodeIds, int listType, int status, int modelId, bool wholesale) { string str; string str2; Database database = DatabaseFactory.CreateDatabase(); GetSortParameter(listType, out str, out str2); string str3 = ""; string temp = " AND "; if (!string.IsNullOrEmpty(nodeIds)) { str3 = " M.NodeId IN (" + DBHelper.ToValidId(nodeIds) + ") "; } else { str3 = " M.TableName IS NOT null "; } if ((status < 100) && (status > -4)) { str3 = string.Concat(new object[] { str3, temp, "M.Status = ", status, " " }); } if (status == 100) { str3 = str3 + temp + "M.Status <= 99 AND M.Status >= 0 "; } if (status == 0x65) { str3 = str3 + temp + "M.Status < 99 AND M.Status >0 "; } if (modelId > 0) { str3 = string.Concat(new object[] { str3, temp, "M.ModelID =", modelId }); } if (wholesale) { str3 = str3 + temp + "P.EnableWholesale = 1"; } DbCommand storedProcCommand = database.GetStoredProcCommand("PR_Common_GetList"); database.AddInParameter(storedProcCommand, "@StartRows", DbType.Int32, startRowIndexId); database.AddInParameter(storedProcCommand, "@PageSize", DbType.Int32, maxNumberRows); database.AddInParameter(storedProcCommand, "@SortColumn", DbType.String, str); database.AddInParameter(storedProcCommand, "@StrColumn", DbType.String, "N.NodeName, M.EliteLevel, M.CreateTime, M.UpdateTime, M.NodeId, M.GeneralId, M.ModelId, M.LinkType, P.*"); database.AddInParameter(storedProcCommand, "@Sorts", DbType.String, str2); database.AddInParameter(storedProcCommand, "@TableName", DbType.String, "PE_CommonProduct P INNER JOIN (PE_CommonModel M RIGHT JOIN PE_Nodes N ON M.NodeID= N.NodeID) ON P.ProductID = M.ItemID AND P.TableName = M.TableName AND M.Status<>-3"); if (string.IsNullOrEmpty(searchType)) { database.AddInParameter(storedProcCommand, "@Filter", DbType.String, str3); } else if (searchType == "SpeedSearch") { str3 = GetSpeedSearchFilter(keyword, str3, temp); database.AddInParameter(storedProcCommand, "@Filter", DbType.String, str3); } else { database.AddInParameter(storedProcCommand, "@Filter", DbType.String, str3 + temp + "P." + DBHelper.FilterBadChar(searchType) + " LIKE '%" + DBHelper.FilterBadChar(keyword) + "%'"); } database.AddOutParameter(storedProcCommand, "@Total", DbType.Int32, maxNumberRows); IList <ProductDetailInfo> list = new List <ProductDetailInfo>(); using (NullableDataReader reader = new NullableDataReader(database.ExecuteReader(storedProcCommand))) { while (reader.Read()) { ProductDetailInfo productInfo = new ProductDetailInfo(); ProductFromrdr <ProductDetailInfo>(reader, productInfo); productInfo.EliteLevel = reader.GetInt32("EliteLevel"); productInfo.UpdateTime = new DateTime?(reader.GetDateTime("UpdateTime")); productInfo.CreateTime = reader.IsDBNull("CreateTime") ? productInfo.UpdateTime : new DateTime?(reader.GetDateTime("CreateTime")); productInfo.NodeName = reader.GetString("NodeName"); productInfo.NodeId = reader.GetInt32("NodeId"); productInfo.GeneralId = reader.GetInt32("GeneralId"); productInfo.ModelId = reader.GetInt32("ModelId"); productInfo.LinkType = reader.GetInt32("LinkType"); list.Add(productInfo); } } this.m_TotalOfAllProducts = (int)database.GetParameterValue(storedProcCommand, "@Total"); return(list); }