public async Task <ActionResult <IEnumerable <ChallengeDto> > > GetCHallenges([FromQuery] IEnumerable <Guid> Id)
        {
            var query = new GetChallengesQuery()
            {
                ChallengeId = Id
            };
            var result = await _queryDispatcher.QueryAsync <IEnumerable <ChallengeDto> >(query);

            if (result == null)
            {
                return(NotFound());
            }
            return(Ok(result));
        }
        public Task <IEnumerable <ChallengeDto> > HandleAsync(GetChallengesQuery query)
        {
            var challenges = _dbContext.Challenges.ToList();

            if (query.ChallengeId.Count() != 0)
            {
                challenges = challenges.Where(c => query.ChallengeId.Contains(c.Id)).ToList();
            }
            var results = challenges.Select(c => new ChallengeDto()
            {
                Id           = c.Id,
                Description  = c.Description,
                IsObligatory = c.IsObligatory,
                LevelId      = c.LevelId,
                Title        = c.Title
            });

            return(Task.FromResult(results));
        }