//command handlers private async Task CreateMeetingAsync() { CreateMeetingResult createMeetingResult = await _sdkService.CreateMeeting(new ContactInfo[0], 0); switch (createMeetingResult.m_result.m_rc) { case 13: createMeetingResult.m_result.m_message = Messages.WarningNoCamera; break; case 14: createMeetingResult.m_result.m_message = Messages.WarningNoMicrophone; break; case 15: case -1009: createMeetingResult.m_result.m_message = Messages.WarningNoSpeaker; break; default: break; } if (HasErrorMsg(createMeetingResult.m_result.m_rc.ToString(), createMeetingResult.m_result.m_message)) { return; } await GotoMeetingViewAsync(); }
private void CreateMeetingCallback(IntPtr pData) { CreateMeetingResult createMeetingResult = (CreateMeetingResult)Marshal.PtrToStructure(pData, typeof(CreateMeetingResult)); ReturnMessage createMeetingMessage; if (createMeetingResult.m_result.m_rc == 0) { MainSpeaker = CurrentAttendee; CurrentMeetingId = createMeetingResult.m_meetingId; createMeetingMessage = ReturnMessage.GenerateData(createMeetingResult.m_meetingId.ToString()); } else { createMeetingMessage = ReturnMessage.GenerateError(createMeetingResult.m_result.m_message, createMeetingResult.m_result.m_rc.ToString()); } SetResult("CreateMeeting", createMeetingMessage); }
private async Task ParticipateOrWatchAsync() { ResponseResult meetingResult = await _bmsService.GetMeetingByLessonId(CurLessonDetail.Id.ToString()); Log.Logger.Debug( $"【get meetingId by lessonId result】:result={meetingResult.Status}, msg={meetingResult.Message}, data={meetingResult.Data}"); if (HasErrorMsg(meetingResult.Status, meetingResult.Message)) { return; } if (meetingResult.Data == null) { HasErrorMsg("-1", Messages.WarningNullDataFromServer); return; } switch (meetingResult.Data.ToString()) { case "-1": HasErrorMsg("-1", Messages.WarningYouNeedCreateAMeeting); //create a meeting and update to database CreateMeetingResult createMeetingResult = await _sdkService.CreateMeeting(new ContactInfo[0], 0); Log.Logger.Debug( $"【create meeting result】:result={createMeetingResult.m_result.m_rc}, msg={createMeetingResult.m_result.m_message}"); switch (createMeetingResult.m_result.m_rc) { case 13: createMeetingResult.m_result.m_message = Messages.WarningNoCamera; break; case 14: createMeetingResult.m_result.m_message = Messages.WarningNoMicrophone; break; case 15: case -1009: createMeetingResult.m_result.m_message = Messages.WarningNoSpeaker; break; default: break; } if ( !HasErrorMsg(createMeetingResult.m_result.m_rc.ToString(), createMeetingResult.m_result.m_message)) { ResponseResult updateResult = await _bmsService.UpdateMeetingId(CurLessonDetail.Id, createMeetingResult.m_meetingId); if (!HasErrorMsg(updateResult.Status, updateResult.Message)) { await GotoMeeting(createMeetingResult.m_meetingId); } } break; case "0": //someone is creating a meeting, just wait HasErrorMsg("-1", Messages.WarningSomeoneIsCreatingAMeeting); break; default: int meetingId = int.Parse(meetingResult.Data.ToString()); await GotoMeeting(meetingId); break; } }