示例#1
0
        private Expression <Func <TransferBill, bool> > QueryWhere(TransferBillQuery query)
        {
            Expression <Func <TransferBill, bool> > expr = query.Where();

            if (query.MemberUserName.IsNotNullOrEmpty())
            {
                expr = expr.And(e => e.ToMemberUserName == query.MemberUserName || e.FromMemberUserName == query.MemberUserName);
            }
            return(expr);
        }
示例#2
0
        public QueryResult <TransferBill> Query(TransferBillQuery query)
        {
            var expr    = QueryWhere(query);
            var session = DataBase.Session;
            var rst     = new QueryResult <TransferBill>
            {
                Count = DataBase.Count(expr),
                List  = session.Query <TransferBill>().Where(expr).OrderByDescending(e => e.Id).Skip(query.Skip).Take(query.Take).ToList()
            };

            session.Close();
            return(rst);
        }
示例#3
0
        public QueryResult <TransferBill> ToBuyList(TransferBillQuery query)
        {
            var result          = DataBase.Query(query);
            var memberuserNames =
                result.List.Select(e => e.FromMemberUserName).Union(result.List.Select(e => e.ToMemberUserName));
            var members = DataBase.GetList <Member>(e => memberuserNames.Contains(e.UserName));

            result.List.ForEach(item =>
            {
                item.FromMember = members.FirstOrDefault(e => e.UserName == item.FromMemberUserName);
                item.ToMember   = members.FirstOrDefault(e => e.UserName == item.ToMemberUserName);
            });
            return(result);
        }