예제 #1
0
 public JoinMeeting(
     JoinMeetingDto joinMeetingRequest,
     CloudTable eventsTable,
     string loginUserEmail,
     ILogger logger)
 {
     _joinMeetingRequest = joinMeetingRequest;
     _loginUserEmail     = loginUserEmail;
     _eventsTable        = eventsTable;
     _logger             = logger;
 }
예제 #2
0
        public async Task <IActionResult> Join([FromQuery] JoinMeetingDto dto)
        {
            var meeting = await GetMeeting(dto.MeetingID);

            if (meeting == null)
            {
                return(NotFound());
            }

            var request = _mapper.Map <JoinRequest>(dto);
            var joinUrl = _bbbClient.GetJoinUrl(meeting.Server.Url, meeting.Server.Secret, request);

            return(Redirect(joinUrl));
        }
예제 #3
0
        public static bool ValidateRequest(JoinMeetingDto joinMeetingRequest)
        {
            var hasErrors = false;
            var errors    = new StringBuilder();

            if (string.IsNullOrEmpty(joinMeetingRequest?.EventId))
            {
                hasErrors = true;
                errors.AppendLine($"{nameof(joinMeetingRequest.EventId)} is required.");
            }

            if (hasErrors)
            {
                throw new ValidationException(errors.ToString());
            }

            return(true);
        }