Exemplo n.º 1
0
        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
                });
            }
        }
Exemplo n.º 2
0
        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));
        }