public Task <IEnumerable <GetMeetupQueryItem> > Handle(GetMeetupsQuery request, CancellationToken cancellationToken)
        {
            //TODO Validation

            var meetups = _meetupRepository.GetMeetups(_identityService.GetUserId());

            var result = meetups.Select((x) => MapMeetup(x)).AsEnumerable();

            return(Task.FromResult(result));
        }
        public async Task <IEnumerable <GetMeetupQueryItem> > Handle(GetMeetupsQuery request, CancellationToken cancellationToken)
        {
            IEnumerable <GetMeetupQueryItem> result = null;

            using (var session = _documentStore.OpenAsyncSession())
            {
                result = await session.Query <MeetupDocument>()
                         .Where((x) => !x.Cancelled && !x.Completed)
                         .OrderByDescending((x) => x.When)
                         .Select((x) => new GetMeetupQueryItem
                {
                    Address     = x.Location.Address,
                    Description = x.Description,
                    Subject     = x.Subject,
                    When        = x.When
                })
                         .ToListAsync(cancellationToken);
            }

            return(result);
        }