Ejemplo n.º 1
0
        public DataTable QueryExChanged(ExChangedProductSearch search)
        {
            DataTable table2;

            try
            {
                IDataReader   reader;
                StringBuilder builder = new StringBuilder(" 1=1 ");
                int           num     = 0;
                if (search.exChangeId.HasValue)
                {
                    builder.Append(string.Format(" and exChangeID={0} ", search.exChangeId.Value));
                }
                string    query            = "select count(ProductId) as total from Hishop_PointExchange_Changed where " + builder.ToString();
                DbCommand sqlStringCommand = this.database.GetSqlStringCommand(query);
                using (reader = this.database.ExecuteReader(sqlStringCommand))
                {
                    num = int.Parse(DataHelper.ConverDataReaderToDataTable(reader).Rows[0][0].ToString());
                }
                if (num <= 0)
                {
                    return(null);
                }
                int pageSize = 0;
                int num3     = search.PageIndex * search.PageSize;
                if ((search.PageIndex != 0) && (search.PageSize != 0))
                {
                    pageSize = search.PageSize;
                    if (search.PageIndex >= Math.Ceiling((double)(((double)num) / ((double)search.PageSize))))
                    {
                        search.PageIndex = int.Parse(Math.Ceiling((double)(((double)num) / ((double)search.PageSize))).ToString());
                    }
                    int num4 = search.PageIndex * search.PageSize;
                    if (num4 > num)
                    {
                        pageSize = search.PageSize - (num4 - num);
                    }
                }
                string str2 = "order by a.ExChangeID desc , a.Date desc ";
                string str3 = "order by ExChangeID , Date  ";
                string str4 = "order by ExChangeID desc , Date desc ";
                string str5 = string.Format("select top {0} a.* , b.ProductName,b.ThumbnailUrl40 from Hishop_PointExchange_Changed a left join [Hishop_Products] b on a.ProductID=b.ProductID  where ", num3);
                string str6 = string.Format("select * from ( select top {0} * from ( {1} ) as t1 {2} ) as t2 {3} ", new object[] { pageSize, str5 + builder.ToString() + str2, str4, str3 });
                sqlStringCommand = this.database.GetSqlStringCommand(str6);
                using (reader = this.database.ExecuteReader(sqlStringCommand))
                {
                    table2 = DataHelper.ConverDataReaderToDataTable(reader);
                }
            }
            catch (Exception)
            {
                table2 = null;
            }
            return(table2);
        }
Ejemplo n.º 2
0
 public System.Data.DataTable QueryExChanged(ExChangedProductSearch search)
 {
     System.Data.DataTable result;
     try
     {
         StringBuilder stringBuilder = new StringBuilder(" 1=1 ");
         int           num           = 0;
         if (search.exChangeId.HasValue)
         {
             stringBuilder.Append(string.Format(" and exChangeID={0} ", search.exChangeId.Value));
         }
         string query = "select count(ProductId) as total from Hishop_PointExchange_Changed where " + stringBuilder.ToString();
         System.Data.Common.DbCommand sqlStringCommand = this.database.GetSqlStringCommand(query);
         using (System.Data.IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand))
         {
             System.Data.DataTable dataTable = DataHelper.ConverDataReaderToDataTable(dataReader);
             num = int.Parse(dataTable.Rows[0][0].ToString());
         }
         if (num <= 0)
         {
             result = null;
         }
         else
         {
             int num2 = 0;
             int num3 = search.PageIndex * search.PageSize;
             if (search.PageIndex != 0 && search.PageSize != 0)
             {
                 num2 = search.PageSize;
                 if ((double)search.PageIndex >= Math.Ceiling((double)num / (double)search.PageSize))
                 {
                     search.PageIndex = int.Parse(Math.Ceiling((double)num / (double)search.PageSize).ToString());
                 }
                 int num4 = search.PageIndex * search.PageSize;
                 if (num4 > num)
                 {
                     num2 = search.PageSize - (num4 - num);
                 }
             }
             string str    = "order by a.ExChangeID desc , a.Date desc ";
             string text   = "order by ExChangeID , Date  ";
             string text2  = "order by ExChangeID desc , Date desc ";
             string str2   = string.Format("select top {0} a.* , b.ProductName,b.ThumbnailUrl40 from Hishop_PointExchange_Changed a left join [Hishop_Products] b on a.ProductID=b.ProductID  where ", num3);
             string query2 = string.Format("select * from ( select top {0} * from ( {1} ) as t1 {2} ) as t2 {3} ", new object[]
             {
                 num2,
                 str2 + stringBuilder.ToString() + str,
                 text2,
                 text
             });
             sqlStringCommand = this.database.GetSqlStringCommand(query2);
             using (System.Data.IDataReader dataReader = this.database.ExecuteReader(sqlStringCommand))
             {
                 System.Data.DataTable dataTable = DataHelper.ConverDataReaderToDataTable(dataReader);
                 result = dataTable;
             }
         }
     }
     catch (Exception)
     {
         result = null;
     }
     return(result);
 }