Exemplo n.º 1
0
        public PageModel <Finance_Transfer> GetFinance_TransferListInfo(QueryModel.Finance_TransferQuery fQuery)
        {
            int num = 0;
            IQueryable <Finance_Transfer> fp = context.Finance_Transfer.AsQueryable <Finance_Transfer>();

            if (!string.IsNullOrWhiteSpace(fQuery.starttime))
            {//开始时间
                DateTime dt;
                if (DateTime.TryParse(fQuery.starttime, out dt))
                {
                    dt = DateTime.Parse(fQuery.starttime);
                    fp =
                        from d in fp
                        where d.Trans_Time >= dt
                        select d;
                }
            }
            if (!string.IsNullOrWhiteSpace(fQuery.endtime))
            {//结束时间
                DateTime dt;
                if (DateTime.TryParse(fQuery.endtime, out dt))
                {
                    dt = DateTime.Parse(fQuery.endtime);
                    fp =
                        from d in fp
                        where d.Trans_Time <= dt
                        select d;
                }
            }
            if (fQuery.userid != 0)
            {//用户编号
                fp =
                    from d in fp
                    where d.Trans_UserId.Equals(fQuery.userid) || d.Trans_ToUserId.Equals(fQuery.userid)
                    select d;
            }
            if (fQuery.usertype != 0)
            {//用户类型
                fp =
                    from d in fp
                    where d.Trans_UserType.Equals(fQuery.usertype) || d.Trans_ToUserType.Equals(fQuery.usertype)
                    select d;
            }
            if (fQuery.moneytype != 0)
            {//支付币种
                fp =
                    from d in fp
                    where d.Trans_MoneyType.Equals(fQuery.moneytype)
                    select d;
            }
            fp = fp.GetPage(out num, fQuery.PageNo, fQuery.PageSize, (IQueryable <Finance_Transfer> d) =>
                            from o in d
                            orderby o.Trans_Time descending
                            select o);
            return(new PageModel <Finance_Transfer>()
            {
                Models = fp,
                Total = num
            });
        }
Exemplo n.º 2
0
        public PageModel <Finance_Transfer> GetFinance_TransferList_Statistics(QueryModel.Finance_TransferQuery fQuery)
        {
            int num = 0;
            IQueryable <Finance_Transfer> fp = context.Finance_Transfer.AsQueryable <Finance_Transfer>();

            if (!string.IsNullOrWhiteSpace(fQuery.starttime))
            {//开始时间
                DateTime dt;
                if (DateTime.TryParse(fQuery.starttime, out dt))
                {
                    dt = DateTime.Parse(fQuery.starttime);
                    fp =
                        from d in fp
                        where d.Trans_Time >= dt
                        select d;
                }
            }
            if (!string.IsNullOrWhiteSpace(fQuery.endtime))
            {//结束时间
                DateTime dt;
                if (DateTime.TryParse(fQuery.endtime, out dt))
                {
                    dt = DateTime.Parse(fQuery.endtime);
                    fp =
                        from d in fp
                        where d.Trans_Time <= dt
                        select d;
                }
            }
            if (fQuery.moneytype != 0)
            {//支付币种
                fp =
                    from d in fp
                    where d.Trans_MoneyType.Equals(fQuery.moneytype)
                    select d;
            }
            var qq = from p in fp.ToList()
                     group p by p.Trans_Time.ToString("yyyy-MM-dd") into g
                     select new Finance_Transfer()
            {
                Trans_Time      = DateTime.Parse(g.Key),
                Trans_MoneyType = g.Max(p => p.Trans_MoneyType),
                Trans_Money     = g.Sum(p => p.Trans_Money),
                Trans_SXMoney   = g.Sum(p => p.Trans_SXMoney)
            };

            fp = qq.AsQueryable();

            fp = fp.GetPage(out num, fQuery.PageNo, fQuery.PageSize, (IQueryable <Finance_Transfer> d) =>
                            from o in d
                            orderby o.Trans_Time descending
                            select o);
            return(new PageModel <Finance_Transfer>()
            {
                Models = fp,
                Total = num
            });
        }