public async Task AddCountAsync(StatType statType, int siteId, int adminId) { var lowerDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); var higherDate = lowerDate.AddDays(1); var query = Q .Where(nameof(Stat.StatType), statType.GetValue()) .WhereBetween(nameof(Stat.CreatedDate), lowerDate, higherDate); if (siteId > 0) { query.Where(nameof(Stat.SiteId), siteId); } if (adminId > 0) { query.Where(nameof(Stat.AdminId), adminId); } if (await _repository.ExistsAsync(query)) { await _repository.IncrementAsync(nameof(Stat.Count), query); } else { await _repository.InsertAsync(new Stat { StatType = statType, SiteId = siteId, AdminId = adminId, Count = 1 }); } }
public async Task <List <Stat> > GetStatsAsync(DateTime lowerDate, DateTime higherDate, StatType statType, int siteId = 0) { var query = Q .Where(nameof(Stat.StatType), statType.GetValue()) .WhereBetween(nameof(Stat.CreatedDate), lowerDate, higherDate.AddDays(1)); if (siteId > 0) { query.Where(nameof(Stat.SiteId), siteId); } return(await _repository.GetAllAsync(query)); }