Пример #1
0
        private async Task GetClassroomsAsync()
        {
            List <global::Common.Model.Classroom> classrooms = await _classroomBms.GetClassroomsAsync();

            classrooms.ForEach(classroom =>
            {
                Classrooms.Add(new ClassroomEx()
                {
                    Classroom            = classroom,
                    Selected             = false,
                    SelectInviteeCommand = new DelegateCommand <ClassroomEx>(InviteeKeyDown)
                });
            });

            DeviceSettingsChecker.Instance.IsVideoAudioSettingsValid(_createClassView);
        }
Пример #2
0
        private async Task GetInviteesAsync()
        {
            List <Common.Model.Classroom> classrooms = await _bmsService.GetClassroomsAsync();

            var invitees = from invitee in classrooms
                           select new TextWithButtonItem()
            {
                Id               = invitee.SchoolRoomNum,
                Text             = invitee.SchoolRoomName + $" [{invitee.SchoolRoomNum}]",
                ButtonCommand    = SendInvitationCommand,
                Content          = "邀 请",
                ButtonForeground = new SolidColorBrush(Colors.White),
                ButtonBackground = (SolidColorBrush)Application.Current.Resources["ThemeBrush"],
                ButtonVisibility = Visibility.Collapsed
            };

            invitees.ToList().ForEach(invitee =>
            {
                SendInvitationItems.Add(invitee);
            });

            InputSimulatorManager.Instance.InputSimu.Keyboard.KeyPress(VirtualKeyCode.TAB);
        }
Пример #3
0
        private async Task LoginingAsync()
        {
            InvitationService.Instance.Initialize();
            _windowManager.Initialize();

            MeetingSdkEventsRegister.Instance.RegisterSdkEvents();

            var deviceNameAccessor = IoC.Get <IDeviceNameAccessor>();
            var providers          = IoC.GetAll <IDeviceNameProvider>();

            foreach (var provider in providers)
            {
                await provider.Provider(deviceNameAccessor);
            }

            // read config and cache.
            LoadLocalConfiger();
            //与录播系统对接
            RecordingSystemService.Instance.Start();
            RecordingSystemService.Instance.SetControlComand(ControlComand.ResetWorkMode);
            bool getClassroomResult = await GetClassroomAsync();

            await _bmsService.GetClassroomsAsync();

            if (getClassroomResult)
            {
                bool startSdkResult = await StartSdkAsync();

                if (!startSdkResult)
                {
                    startSdkResult = await StartSdkAsync();
                }

                if (startSdkResult)
                {
                    var path = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
                    //path = Path.Combine(path, "sdk");

                    var startHostResult = await _meetingSdkAgent.StartHost("PCJM", path);

                    if (startHostResult.StatusCode != 0)
                    {
                        MessageQueueManager.Instance.AddInfo("Host服务器启动失败!");
                    }

                    var meetingResult = await _meetingSdkAgent.LoginViaImei(_imei);

                    LoginModel loginModel = meetingResult.Result;

                    if (meetingResult.StatusCode == 0)
                    {
                        MessageQueueManager.Instance.AddInfo("登录成功!");

                        _eventAggregator.GetEvent <UserLoginEvent>().Publish(new UserInfo()
                        {
                            UserId   = loginModel.Account.AccountId,
                            UserName = GlobalData.Instance.Classroom.SchoolRoomName,
                        });

                        var connectVdnResult = await _meetingSdkAgent.ConnectMeetingVDN(loginModel.Account.AccountId, loginModel.Account.AccountName, loginModel.Token);

                        if (connectVdnResult.StatusCode != 0)
                        {
                            MessageQueueManager.Instance.AddInfo("连接Host服务器失败!");
                        }
                    }
                    else
                    {
                        MessageQueueManager.Instance.AddError("登录失败!");
                        Dialog errorDialog = new Dialog($"登录失败!{meetingResult.Message}");
                        errorDialog.ShowDialog();
                    }

                    //启动网络检测
                    _netCheckService.StartCheckNetConnect();

                    //var localSetting = _localDataManager.GetSettingConfig();
                    if (GlobalData.Instance.LocalSetting.UseWelcome)
                    {
                        var welcome = DependencyResolver.Current.GetService <WelcomeView>();
                        welcome.Show();
                    }
                    else
                    {
                        MainView mainView = new MainView(MessageManager.ServerStarted);
                        mainView.Show();
                    }
                    //DeleteClosedMeetingFromLocalData();
                    _loginView.Close();
                }
            }
        }