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); }
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); }
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); }