public Page <UserSubAccountDetails> GetPageList(int userId, PageListQueryInfo <UserSubAccountPageListQuery> info) { int count; var list = _subAccountDal.GetPageList(userId, info, out count); info.Count = count; return(new Page <UserSubAccountDetails> { Info = info as PageListInfo, List = list }); }
public Page <OrderRecordDetails> GetPageList(int userId, PageListQueryInfo <OrderRecordPageListQuery> info) { int count; var list = _orderRecordDal.GetPageList(userId, info.Query.ShopId, info.Query.OrderStateId, (info.PageIndex - 1) * info.PageSize + 1, info.PageIndex * info.PageSize, out count); info.Count = count; return(new Page <OrderRecordDetails> { Info = info as PageListInfo, List = list }); }
public void GetPageList(PageListQueryInfo <OrderRecordPageListQuery> info, Action <DataResponse <OrderRecordOptState, Page <OrderRecordDetails> > > getPageListResponse) { _getPageListResponse = getPageListResponse; var future = Global.SendToServer(info, MessageType.GetOrderRecordListRequest); if (future == null) { GetPageListResponse(new DataResponse <OrderRecordOptState, Page <OrderRecordDetails> > { State = OrderRecordOptState.CannotConnectServer }); } }
public void GetPageList(PageListQueryInfo <UserSubAccountPageListQuery> info, Action <DataResponse <UserSubAccountOptState, Page <UserSubAccountPageListVM> > > getPageListResponse) { _getPageListResponse = getPageListResponse; var future = Global.SendToServer(info, MessageType.GetSubAccountPageListRequest); if (future == null) { GetPageListResponse(new DataResponse <UserSubAccountOptState, Page <UserSubAccountDetails> > { State = UserSubAccountOptState.CannotConnectServer }); } }
public IList <UserSubAccountDetails> GetPageList(int userId, PageListQueryInfo <UserSubAccountPageListQuery> info, out int count) { const string sql = @" SELECT COUNT(1) AS Count FROM UserSubAccount USA WHERE USA.UserId != @UserId AND USA.IsAudit = 1 AND USA.IsEnabled = 1{0} SELECT T1.* , T3.Id AS OrderTypeDetails_Id , T3.Name AS OrderTypeDetails_Name , T2.[Count] AS OrderTypeDetails_Count FROM ( SELECT T.Id , T.TaoBaoAccount , T.Level , T.ConsumptionLevel , T.Age , T.Sex , T.Province , T.City , T.District , T.IsBindingMobile , T.IsRealName , T.ShippingAddress , T.UserId , T.DayOrderCount , T.MonthOrderCount , T.Account , T.ClientLogin , T.ClientLastLoginIpAddress FROM ( SELECT USA.Id , USA.TaoBaoAccount , USA.Level , USA.ConsumptionLevel , USA.Age , USA.Sex , USA.Province , USA.City , USA.District , USA.IsBindingMobile , USA.IsRealName , USA.ShippingAddress , USA.UserId , U.Account , ULS.ClientLogin , ULS.ClientLastLoginIpAddress , USAUI.DayOrderCount , USAUI.MonthOrderCount , ROW_NUMBER() OVER ( ORDER BY ULS.ClientLogin DESC, U.Id, USA.Id ) AS Row FROM UserSubAccount USA LEFT JOIN [User] U ON USA.UserId = U.Id LEFT JOIN UserLoginState ULS ON USA.UserId = ULS.UserId LEFT JOIN UserSubAccountUsageInfo USAUI ON USAUI.UserSubAccountId = USA.Id WHERE USA.UserId != @UserId AND USA.IsAudit = 1 AND USA.IsEnabled = 1{0} ) T WHERE T.Row BETWEEN @Start AND @End ) T1 LEFT JOIN ( SELECT UserSubAccountId , OrderTypeId , [Count] , ROW_NUMBER() OVER ( PARTITION BY UserSubAccountId ORDER BY [Count] DESC ) AS Num FROM UserSubAccountOrderTypeInfo ) T2 ON T2.UserSubAccountId = T1.Id AND T2.Num <= 3 LEFT JOIN OrderType T3 ON T3.Id = T2.OrderTypeId"; StringBuilder query = new StringBuilder(); if (!string.IsNullOrEmpty(info.Query.ProvinceName)) { query.Append(" AND USA.Province = @ProvinceName"); } if (!string.IsNullOrEmpty(info.Query.CityName)) { query.Append(" AND USA.City = @CityName"); } if (!string.IsNullOrEmpty(info.Query.DistrictName)) { query.Append(" AND USA.District = @DistrictName"); } var sqlTmp = string.Format(sql, query.ToString()); using (var con = DbFactory.CreateConnection()) { var reader = con.QueryMultiple(string.Format(sql, query.ToString()), new { UserId = userId, Start = (info.PageIndex - 1) * info.PageSize + 1, End = info.PageIndex * info.PageSize, ProvinceName = info.Query.ProvinceName, CityName = info.Query.CityName, DistrictName = info.Query.DistrictName, }); count = reader.Read <int>().Single(); var userSubAccountDetailsDic = new Dictionary <int, UserSubAccountDetails>(); reader.Read <UserSubAccountDetails, User, UserLoginState, OrderTypeDetails, UserSubAccountDetails>( (details, user, userLoginState, orderTypeDetails) => { UserSubAccountDetails userSubAccountDetails; if (!userSubAccountDetailsDic.TryGetValue(details.Id, out userSubAccountDetails)) { details.User = user; details.UserLoginState = userLoginState; userSubAccountDetailsDic.Add(details.Id, userSubAccountDetails = details); } if (orderTypeDetails != null && orderTypeDetails.Id.HasValue) { userSubAccountDetails.OrderTypeDetails.Add(orderTypeDetails); } return(userSubAccountDetails); }, "Account,ClientLogin,OrderTypeDetails_Id"); return(userSubAccountDetailsDic.Values.ToList()); } }