Example #1
0
        public Models.PageOf <Models.OrderListInfoModel> GetOrderList(Models.OrderQueryInfo queryInfo, Models.PageDTO page, LanguageEnum languageVersion, int receiptCountry)
        {
            var db         = DbSFO2OMain;
            var parameters = db.CreateParameterCollection();

            var sql = @"(  select o.OrderCode,s.MainDicValue,s.SubDicValue,s.MainValue,s.SubValue,o.CreateTime,p.Name,op.UnitPrice,op.PayUnitPrice,op.Quantity,o.TotalAmount,
                              o.OrderStatus,o.ExchangeRate,p.Spu,pImg.ImagePath as ProductImagePath,op.Sku,op.RefundQuantity,
                              (select top 1 expresslist from OrderExpress where OrderCode = o.OrderCode) as  expresslist,
                               (select top 1 ExpressCompany from OrderExpress where OrderCode = o.OrderCode) as  ExpressCompany,pr.ProvinceName+' | '+ci.CityName+' | '+ ar.AreaName+' | '+ o.ReceiptAddress AS ReceiptAddress,o.Phone,o.Receiver 
                              from OrderInfo o(NOLOCK)
                              inner join OrderProducts op(NOLOCK) on o.OrderCode= op.OrderCode
                              inner join SkuInfo s(NOLOCK) on s.Sku= op.Sku 
                              inner join ProductInfo p(NOLOCK) on p.Id=s.SpuId and p.LanguageVersion=@LanguageVersion
	                          left join ProductImage pImg(NOLOCK) ON pImg.Spu = p.Spu AND pImg.SortValue = 1 AND pImg.ImageType = 1 
                              LEFT JOIN  city(NOLOCK) AS ci ON ci.CityId=o.ReceiptCity AND ci.LanguageVersion = 1
	                          LEFT JOIN Province(NOLOCK) AS pr ON pr.ProvinceId = o.ReceiptProvince AND pr.LanguageVersion = 1
	                          LEFT JOIN Area AS ar ON ar.areaid=o.ReceiptRegion AND ar.LanguageVersion = 1	
                              where p.SupplierId= @SupplierId ";

            if (receiptCountry != 0)
            {
                sql = sql + " and o.ReceiptCountry=@ReceiptCountry";
            }

            var query = BindQuery(queryInfo, parameters);

            sql = sql + query;

            sql += ") pp ";

            string SQL = string.Format(@" select * from (select ROW_NUMBER() OVER(order by pp.CreateTime desc) AS RowNum,* from {0}
										) as A where A.RowNum BETWEEN (@PageIndex-1)* @PageSize+1 AND @PageIndex*@PageSize ORDER BY RowNum;"                                        ,
                                       sql);

            SQL += string.Format(@" SELECT COUNT(1),COUNT(distinct pp.OrderCode) FROM {0};", sql);

            parameters.Append("LanguageVersion", (int)languageVersion);
            parameters.Append("SupplierId", queryInfo.SupplierId);
            parameters.Append("ReceiptCountry", receiptCountry);
            parameters.Append("PageIndex", page.PageIndex);
            parameters.Append("PageSize", page.PageSize);

            DataSet ds = db.ExecuteSqlDataSet(SQL, parameters);

            return(new PageOf <OrderListInfoModel>()
            {
                PageIndex = page.PageIndex,
                PageSize = page.PageSize,
                Total = Convert.ToInt32(ds.Tables[1].Rows[0][0]),
                RowCount = Convert.ToInt32(ds.Tables[1].Rows[0][1]),
                Items = DataMapHelper.DataSetToList <OrderListInfoModel>(ds)
            });
        }
Example #2
0
 public PageOf <OrderListInfoModel> GetOrderList(Models.OrderQueryInfo queryInfo, Models.PageDTO page, Models.LanguageEnum languageVersion, int receiptCountry)
 {
     return(dal.GetOrderList(queryInfo, page, languageVersion, receiptCountry));
 }