Пример #1
0
 public Misc(IServiceProvider service)
 {
     _streakService  = service.GetRequiredService <StreakService>();
     _commandService = service.GetRequiredService <CommandService>();
     _apiService     = service.GetRequiredService <ApiService>();
     _imageService   = service.GetRequiredService <ImageService>();
 }
Пример #2
0
        /// <summary>
        /// Get the streak service
        /// </summary>
        /// <returns></returns>
        private StreakService GetStreakService()
        {
            if (_streakService == null)
            {
                var rockContext = GetRockContext();
                _streakService = new StreakService(rockContext);
            }

            return(_streakService);
        }
Пример #3
0
        /// <summary>
        /// Gets the source entities query. This is the set of source entities that should be passed to the process method
        /// when processing this achievement type.
        /// </summary>
        /// <param name="achievementTypeCache">The achievement type cache.</param>
        /// <param name="rockContext">The rock context.</param>
        /// <returns></returns>
        /// <exception cref="NotImplementedException"></exception>
        public override IQueryable <IEntity> GetSourceEntitiesQuery(AchievementTypeCache achievementTypeCache, RockContext rockContext)
        {
            var streakTypeCache = GetStreakTypeCache(achievementTypeCache);

            if (streakTypeCache == null)
            {
                return(Enumerable.Empty <Streak>().AsQueryable());
            }

            var service = new StreakService(rockContext);

            return(service.Queryable().Where(s => s.StreakTypeId == streakTypeCache.Id));
        }
Пример #4
0
        /// <summary>
        /// Executes this instance.
        /// </summary>
        /// <exception cref="System.NotImplementedException"></exception>
        public void Execute()
        {
            var achievementTypeCache = StreakTypeAchievementTypeCache.Get(StreakTypeAchievementTypeId);

            if (achievementTypeCache == null || !achievementTypeCache.IsActive)
            {
                return;
            }

            if (IsNowStarting && achievementTypeCache.AchievementStartWorkflowTypeId.HasValue)
            {
                LaunchWorkflow(achievementTypeCache.AchievementStartWorkflowTypeId.Value);
            }

            if (IsNowEnding && achievementTypeCache.AchievementFailureWorkflowTypeId.HasValue)
            {
                LaunchWorkflow(achievementTypeCache.AchievementFailureWorkflowTypeId.Value);
            }

            if (IsNowSuccessful && achievementTypeCache.AchievementSuccessWorkflowTypeId.HasValue)
            {
                LaunchWorkflow(achievementTypeCache.AchievementSuccessWorkflowTypeId.Value);
            }

            if (IsNowSuccessful &&
                achievementTypeCache.AchievementStepStatusId.HasValue &&
                achievementTypeCache.AchievementStepTypeId.HasValue)
            {
                var rockContext   = new RockContext();
                var streakService = new StreakService(rockContext);
                var personAliasId = streakService.Queryable().AsNoTracking()
                                    .Where(s => s.Id == StreakId)
                                    .Select(s => s.PersonAliasId)
                                    .FirstOrDefault();

                if (personAliasId != default)
                {
                    AddStep(achievementTypeCache.AchievementStepTypeId.Value,
                            achievementTypeCache.AchievementStepStatusId.Value, personAliasId);
                }
            }
        }
Пример #5
0
 public Goats(IServiceProvider services)
 {
     _streakService = services.GetRequiredService <StreakService>();
     _levelService  = services.GetRequiredService <LevelService>();
 }
Пример #6
0
 public Level(IServiceProvider services)
 {
     _streakService = services.GetRequiredService <StreakService>();
     _imageService  = services.GetRequiredService <ImageService>();
 }