Example #1
0
 protected override void ProcessMessage(Common.Notification.EnumNotificationMessage<object, ViewModel.HallWindowAction> message)
 {
     HallWindowViewModel hallWindowVM = DataContext as HallWindowViewModel;
     switch (message.Action)
     {
         case HallWindowAction.ApplicationShutdown:
             if (webWindow != null)
             {
                 CloseWebWindow(webWindow);
                 webWindow = null;
             }
             if (roomWindow != null)
             {
                 roomWindow.Close();
             }
             Close();
             break;
         case HallWindowAction.CloseRoomWindow:
             if (roomWindow != null)
             {
                 roomWindow.Close();
             }
             break;
         case HallWindowAction.AlreadyInRoom:
             if (MessageBox.Show(Messages.AlreadyInRoom, Text.Warning, MessageBoxButton.YesNo) == MessageBoxResult.Yes)
             {
                 if (roomWindow != null)
                 {
                     roomWindow.Close();
                     hallVM.Me.RoomWindowVM = null;
                 }
                 int roomId = (int)message.Content;
                 if (roomId != null)
                 {
                     hallVM.EnterRoom(roomId);
                 }
             }
             break;
         case HallWindowAction.EnterRoomSucceeded:
             RoomWindowViewModel roomWindowVM = message.Content as RoomWindowViewModel;
             roomWindow = new RoomWindow(roomWindowVM, this) as RoomWindow;
             roomWindow.Closed += roomWindow_Closed;
             //roomWindow.StateChanged += roomWindow_StateChanged;
             roomWindow.Show();
             //Hide();
             //ShowWebWindow(webWindow, false);
             break;
         case HallWindowAction.EnterRoomFailed:
             MessageBox.Show(Messages.EnterRoomFailed);
             break;
         //case HallWindowAction.Register:
         //    RegisterWindowViewModel vm = message.Content as RegisterWindowViewModel;
         //    if (vm != null)
         //    {
         //        registerWindow = new RegisterWindow(vm) { Owner = this };
         //        ShowWebWindow(webWindow, false);
         //        registerWindow.ShowDialog();
         //        ShowWebWindow(webWindow, true);
         //    }
         //    break;
         //case HallWindowAction.RegisterUserIdNotAvailable:
         //    ShowWebWindow(webWindow, false);
         //    MessageBox.Show(Messages.NoRegisterUserIdAvailable);
         //    ShowWebWindow(webWindow, true);
         //    break;
         //case HallWindowAction.RegisterSuccess:
         //    if (registerWindow != null)
         //    {
         //        registerWindow.Close();
         //    }
         //    User user = message.Content as User;
         //    if (user != null)
         //    {
         //        webWindow.CallJavaScript("SetLoginUser", user.Id, user.Password);
         //    }
         //    ShowWebWindow(webWindow, true);
         //    break;
         //case HallWindowAction.RegisterCancel:
         //    if (registerWindow != null)
         //    {
         //        registerWindow.Close();
         //    }
         //    ShowWebWindow(webWindow, true);
         //    break;
         case HallWindowAction.OpenConfigurationWindow:
             hallWindowVM.ApplicationVM.ConfigurationWindowVM = new ConfigurationWindowViewModel();
             ConfigurationWindow configurationWindow = new ConfigurationWindow(hallWindowVM.ApplicationVM.ConfigurationWindowVM);
             configurationWindow.Owner = this;
             configurationWindow.ShowDialog();
             break;
         case HallWindowAction.SwitchUser:
             if (MessageBox.Show(Text.SwitchUserConfirm, Text.Prompt, MessageBoxButton.YesNo) == MessageBoxResult.Yes)
             {
                 hallWindowVM.ApplicationVM.SwitchUser();
                 LoginWindow loginWindow = new LoginWindow();
                 loginWindow.Show();
                 this.Close();
             }
             break;
         case HallWindowAction.OpenAgentPortal:
             AgentPortalWindowViewModel avm = new AgentPortalWindowViewModel();
             avm.Initialize();
             AgentLoginWindow agentLoginWindow = new AgentLoginWindow(avm);
             agentLoginWindow.ShowInTaskbar = true;
             if (agentLoginWindow.ShowDialog() == true)
             {
                 AgentPortalWindow agentPortalWindow = new AgentPortalWindow(avm);
                 agentPortalWindow.ShowInTaskbar = true;
                 agentPortalWindow.ShowDialog();
             }
             break;
         default:
             break;
     }
 }
Example #2
0
        protected override void ProcessMessage(Common.Notification.EnumNotificationMessage <object, RoomWindowAction> message)
        {
            RoomWindowViewModel roomVM = DataContext as RoomWindowViewModel;

            switch (message.Action)
            {
            case RoomWindowAction.ShowConfigWindow:
                ConfigurationItemViewModel configItem = message.Content as ConfigurationItemViewModel;
                roomVM.ApplicationVM.ConfigurationWindowVM = new ConfigurationWindowViewModel(configItem);
                ShowWebWindow(webWindow, false);
                ConfigurationWindow configurationWindow = new ConfigurationWindow(roomVM.ApplicationVM.ConfigurationWindowVM);
                configurationWindow.Owner = this;
                configurationWindow.ShowDialog();
                ShowWebWindow(webWindow, true);
                break;

            case RoomWindowAction.PlayMusic:
                bool canPlay = (bool)message.Content;
                if (canPlay)
                {
                    if (playMusicWindow == null)
                    {
                        InitMusicWindow();
                    }
                    ShowWebWindow(webWindow, false);
                    playMusicWindow.WindowState = System.Windows.WindowState.Normal;
                    playMusicWindow.Show();
                    playMusicWindow.Topmost = true;
                }
                else
                {
                    ShowWebWindow(webWindow, false);
                    if (System.Windows.MessageBox.Show("其它人正在播放音乐,请稍后再试", "提示", MessageBoxButton.OK) == MessageBoxResult.OK)
                    {
                        ShowWebWindow(webWindow, true);
                    }
                }
                break;

            case RoomWindowAction.ManageMusic:
                ShowWebWindow(webWindow, false);
                ManageMusicWindowViewModel manageMusicVM = new ManageMusicWindowViewModel();
                ManageMusicWindow          manageWnd     = new ManageMusicWindow(manageMusicVM);
                manageWnd.Owner   = this;
                manageWnd.Topmost = true;
                ShowWebWindow(webWindow, false);
                manageWnd.ShowDialog();
                ShowWebWindow(webWindow, true);
                break;

            case RoomWindowAction.RecordAudio:
                SaveFileDialog dialog = new SaveFileDialog();
                dialog.Filter = "音频文件 (*.wav)|*.wav";
                if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    RoomWindowViewModel vm = DataContext as RoomWindowViewModel;
                    vm.StartAudioRecording(dialog.FileName);
                }
                break;

            default:
                break;
            }
        }
Example #3
0
        protected override void ProcessMessage(Common.Notification.EnumNotificationMessage <object, ViewModel.HallWindowAction> message)
        {
            HallWindowViewModel hallWindowVM = DataContext as HallWindowViewModel;

            switch (message.Action)
            {
            case HallWindowAction.ApplicationShutdown:
                if (webWindow != null)
                {
                    CloseWebWindow(webWindow);
                    webWindow = null;
                }
                if (roomWindow != null)
                {
                    roomWindow.Close();
                }
                if (registerWindow != null)
                {
                    registerWindow.Close();
                }
                Close();
                break;

            case HallWindowAction.CloseRoomWindow:
                if (roomWindow != null)
                {
                    roomWindow.Close();
                }
                break;

            case HallWindowAction.AlreadyInRoom:
                ShowWebWindow(webWindow, false);
                if (MessageBox.Show(Messages.AlreadyInRoom, Text.Warning, MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    if (roomWindow != null)
                    {
                        roomWindow.Close();
                        hallVM.Me.RoomWindowVM = null;
                    }
                    int roomId = (int)message.Content;
                    if (roomId != null)
                    {
                        hallVM.EnterRoom(roomId);
                    }
                }
                ShowWebWindow(webWindow, true);
                break;

            case HallWindowAction.EnterRoomSucceeded:
                RoomWindowViewModel roomWindowVM = message.Content as RoomWindowViewModel;
                roomWindow               = new RoomWindow(roomWindowVM, this) as RoomWindow;
                roomWindow.Closed       += roomWindow_Closed;
                roomWindow.StateChanged += roomWindow_StateChanged;
                roomWindow.Show();
                //Hide();
                //ShowWebWindow(webWindow, false);
                break;

            case HallWindowAction.EnterRoomFailed:
                MessageBox.Show(Messages.EnterRoomFailed);
                break;

            case HallWindowAction.Register:
                RegisterWindowViewModel vm = message.Content as RegisterWindowViewModel;
                if (vm != null)
                {
                    registerWindow = new RegisterWindow(vm)
                    {
                        Owner = this
                    };
                    ShowWebWindow(webWindow, false);
                    registerWindow.ShowDialog();
                    ShowWebWindow(webWindow, true);
                }
                break;

            case HallWindowAction.RegisterUserIdNotAvailable:
                ShowWebWindow(webWindow, false);
                MessageBox.Show(Messages.NoRegisterUserIdAvailable);
                ShowWebWindow(webWindow, true);
                break;

            case HallWindowAction.RegisterSuccess:
                if (registerWindow != null)
                {
                    registerWindow.Close();
                }
                User user = message.Content as User;
                if (user != null)
                {
                    webWindow.CallJavaScript("SetLoginUser", user.Id, user.Password);
                }
                ShowWebWindow(webWindow, true);
                break;

            case HallWindowAction.RegisterCancel:
                if (registerWindow != null)
                {
                    registerWindow.Close();
                }
                ShowWebWindow(webWindow, true);
                break;

            case HallWindowAction.OpenConfigurationWindow:
                hallWindowVM.ApplicationVM.ConfigurationWindowVM = new ConfigurationWindowViewModel();
                ShowWebWindow(webWindow, false);
                ConfigurationWindow configurationWindow = new ConfigurationWindow(hallWindowVM.ApplicationVM.ConfigurationWindowVM);
                configurationWindow.Owner = this;
                configurationWindow.ShowDialog();
                ShowWebWindow(webWindow, true);
                break;

            case HallWindowAction.SwitchUser:
                ShowWebWindow(webWindow, false);
                if (MessageBox.Show(Text.SwitchUserConfirm, Text.Prompt, MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    hallWindowVM.ApplicationVM.SwitchUser();
                    webWindow.CallJavaScript("SwitchUser");
                }
                ShowWebWindow(webWindow, true);
                break;

            default:
                break;
            }
        }
Example #4
0
        //void wnd_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        //{
            
        //    //System.Windows.MessageBox.Show(e.ClickCount.ToString());
        //    Dispatcher.Invoke((Action)(() =>
        //    {
        //        Topmost = true;
        //    }));
        //    this.RaiseWindowHeaderMouseLeftButtonDownEvent(this, null);
        //}

		protected override void ProcessMessage(Common.Notification.EnumNotificationMessage<object, RoomWindowAction> message)
        {
            RoomWindowViewModel roomVM = DataContext as RoomWindowViewModel;
            switch (message.Action)
            {
                case RoomWindowAction.ShowConfigWindow:
                    ConfigurationItemViewModel configItem = message.Content as ConfigurationItemViewModel;
                    roomVM.ApplicationVM.ConfigurationWindowVM = new ConfigurationWindowViewModel(configItem);
                    //ShowWebWindow(webWindow,false);
                    ConfigurationWindow configurationWindow = new ConfigurationWindow(roomVM.ApplicationVM.ConfigurationWindowVM);
                    //configurationWindow.Owner = this;
                    configurationWindow.ShowInTaskbar = true;
                    configurationWindow.ShowDialog();
                    //ShowWebWindow(webWindow,true);
                    break;
                case RoomWindowAction.PlayMusic:
                    //bool canPlay = (bool)message.Content;
                    //if (canPlay)
                    //{
                    //    if (playMusicWindow == null)
                    //        InitMusicWindow();
                    //    //ShowWebWindow(webWindow, false);
                    //    playMusicWindow.WindowState = System.Windows.WindowState.Normal;
                    //    playMusicWindow.Show();
                    //    playMusicWindow.Topmost = true;
                    //}
                    //else
                    //{
                    //    //ShowWebWindow(webWindow, false);
                    //    System.Windows.MessageBox.Show("其它人正在播放音乐,请稍后再试", "提示", MessageBoxButton.OK);
                    //        //ShowWebWindow(webWindow, true);
                    //}
                    break;
                
                case RoomWindowAction.ManageMusic:
                    //ShowWebWindow(webWindow, false);
                    ManageMusicWindowViewModel manageMusicVM = new ManageMusicWindowViewModel();
                    ManageMusicWindow manageWnd = new ManageMusicWindow(manageMusicVM);
                    //manageWnd.Owner = this;
                    manageWnd.Topmost = true;
                    //ShowWebWindow(webWindow, false);
                    manageWnd.ShowInTaskbar = true;
                    manageWnd.ShowDialog();
                    //ShowWebWindow(webWindow, true);
                    break;

                case RoomWindowAction.RecordAudio:
                    SaveFileDialog dialog = new SaveFileDialog();
                    dialog.Filter = "音频文件 (*.wav)|*.wav";
                    if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                    {
                        RoomWindowViewModel vm = DataContext as RoomWindowViewModel;
                        vm.StartAudioRecording(dialog.FileName);
                    }
                    break;
                default:
                    break;
            }
        }