예제 #1
0
        public static async Task <ParticipantDto> GetParticipant(int participantId)
        {
            Participant entity = await ParticipantRead.GetParticipant(participantId, a => a.EnrolledMeetings);

            ParticipantDto result = Convert(entity);

            return(result);
        }
예제 #2
0
        public static async Task <List <MeetingDto> > GetMeetingsForParticipant(int participantId)
        {
            List <MeetingDto> result = (await ParticipantRead.GetMeetingsForParticipant(participantId))
                                       .Select(ent => MeetingService.Convert(ent))
                                       .ToList();

            return(result);
        }
예제 #3
0
        public static async Task AddPersonToMeeting(int participantId, int meetingId)
        {
            Task <Participant> participantTask = ParticipantRead.GetParticipant(participantId);
            Task <Meeting>     meetingTask     = MeetingRead.GetMeeting(meetingId, m => m.Participants);
            await Task.WhenAll(meetingTask, participantTask);

            if (meetingTask.Result.Participants.Any(p => p.Id == participantId))
            {
                throw new Exception("Participant is already enrolled in this meeting");
            }

            await MeetingWrite.AddParticipantToMeeting(participantTask.Result, meetingTask.Result);
        }