示例#1
0
 static void Main(string[] args)
 {
     using (MyDbContext dbc = new MyDbContext())
     {
         dbc.Database.Log = (sql) =>
         {
             Console.WriteLine(sql);
         };
         DateTime dateTime = DateTime.Now;
         ForwardStatisticalResult   result   = new ForwardStatisticalResult();
         IQueryable <ForwardEntity> forwards = dbc.GetAll <ForwardEntity>().Where(f => SqlFunctions.DateDiff("day", dateTime, f.CreateTime) == 0);
         result.TotalBonus = forwards.Sum(f => f.Task.Bonus);
         result.TotalCount = forwards.LongCount();
     }
     Console.ReadKey();
 }
示例#2
0
        public async Task <ForwardStatisticalResult> GetMonthAsync(DateTime?dateTime)
        {
            using (MyDbContext dbc = new MyDbContext())
            {
                ForwardStatisticalResult   result   = new ForwardStatisticalResult();
                IQueryable <ForwardEntity> forwards = dbc.GetAll <ForwardEntity>().Where(f => SqlFunctions.DateDiff("month", dateTime, f.CreateTime) == 0);
                if (!await forwards.AnyAsync())
                {
                    result.TotalBonus = 0;
                    result.TotalCount = 0;
                }
                else
                {
                    result.TotalBonus = await forwards.SumAsync(f => f.Task.Bonus);

                    result.TotalCount = await forwards.LongCountAsync();
                }
                return(result);
            }
        }