示例#1
0
        /// <summary>
        /// Gets the attempt service.
        /// </summary>
        /// <returns></returns>
        private StreakAchievementAttemptService GetAttemptService()
        {
            if (_attemptService == null)
            {
                var rockContext = GetRockContext();
                _attemptService = new StreakAchievementAttemptService(rockContext);
            }

            return(_attemptService);
        }
        /// <summary>
        /// Gets the streak achievement attempt.
        /// </summary>
        /// <returns></returns>
        private StreakAchievementAttempt GetStreakAchievementAttempt()
        {
            if (_streakAchievementAttempt != null)
            {
                return(_streakAchievementAttempt);
            }

            var rockContext = new RockContext();
            var service     = new StreakAchievementAttemptService(rockContext);

            _streakAchievementAttempt = service.Get(StreakAchievementAttemptGuid);
            return(_streakAchievementAttempt);
        }
示例#3
0
        /// <summary>
        /// Gets the successful attempt count.
        /// </summary>
        /// <returns></returns>
        private int GetSuccessfulAttemptCount()
        {
            if (!_successfulAttempts.HasValue)
            {
                var streakId = PageParameter(PageParameterKey.StreakId).AsIntegerOrNull();

                if (streakId.HasValue && streakId.Value > 0)
                {
                    var rockContext = GetRockContext();
                    var service     = new StreakAchievementAttemptService(rockContext);
                    _successfulAttempts = service.Queryable().AsNoTracking().Count(saa => saa.StreakId == streakId && saa.IsSuccessful);
                }
            }

            return(_successfulAttempts ?? 0);
        }