Exemple #1
0
        public async Task <VersionedServiceResult <Venue> > GetVenue(long?currentVersion, Guid?currentMemberId, Guid id)
        {
            Venue venue;

            if (currentMemberId != null)
            {
                venue = await _venueRepository.GetVenue(id);
            }
            else
            {
                venue = await _venueRepository.GetPublicVenue(id);
            }

            if (venue == null)
            {
                throw new OdkNotFoundException();
            }

            if (currentMemberId != null)
            {
                await _authorizationService.AssertMemberIsChapterMember(currentMemberId.Value, venue.ChapterId);
            }

            return(await _cacheService.GetOrSetVersionedItem(
                       () => _venueRepository.GetVenue(id),
                       id,
                       currentVersion));
        }
Exemple #2
0
        public async Task <IReadOnlyCollection <Event> > GetEvents(Guid currentMemberId, Guid chapterId)
        {
            await _authorizationService.AssertMemberIsChapterMember(currentMemberId, chapterId);

            await _authorizationService.AssertMembershipIsActive(currentMemberId, chapterId);

            return(await _eventRepository.GetEvents(chapterId, DateTime.UtcNow.Date));
        }
Exemple #3
0
        public async Task <VersionedServiceResult <IReadOnlyCollection <Member> > > GetLatestMembers(long?currentVersion,
                                                                                                     Guid currentMemberId, Guid chapterId)
        {
            await _authorizationService.AssertMemberIsChapterMember(currentMemberId, chapterId);

            VersionedServiceResult <IReadOnlyCollection <Member> > members = await GetMembers(currentVersion, currentMemberId, chapterId);

            if (members.Value == null)
            {
                return(members);
            }

            IReadOnlyCollection <Member> latestMembers = members
                                                         .Value
                                                         .OrderByDescending(x => x.CreatedDate)
                                                         .Take(8)
                                                         .ToArray();

            return(new VersionedServiceResult <IReadOnlyCollection <Member> >(members.Version, latestMembers));
        }
Exemple #4
0
        public async Task <ChapterPaymentSettings> GetChapterPaymentSettings(Guid currentMemberId, Guid chapterId)
        {
            await _authorizationService.AssertMemberIsChapterMember(currentMemberId, chapterId);

            return(await _chapterRepository.GetChapterPaymentSettings(chapterId));
        }