void ChangeState() { bool insertEnabled = TabControl.Current != null; bool canCopy = insertEnabled && CopyAction.CanCopy; bool canPast = insertEnabled && CopyAction.CanPaste; bool canOpen = CommonHelper.IsShowOpenDialog(LibraryType.Schedule); bool isSaved = TabControl.Current != null && TabControl.Current.Model != null && ControlService.LibraryTree.Controller.GetNode(TabControl.Current.Model) != null; LocalMessageBus.Send(null, new MenuMessage(new MenuCommand[] { new MenuCommand { Command = MenuCommands.Insert, Enabled = insertEnabled, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.Text, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.Open, Enabled = canOpen } , new MenuCommand { Command = MenuCommands.Image, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.Video, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.DynamicText, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.DynamicVideo, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.Time, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.Temperature, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.InsertMessage, Enabled = insertEnabled && LibraryGroup.Current.Messages.Count > 0, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.InsertTimeSlice, Enabled = insertEnabled && LibraryGroup.Current.TimeSliceGroups.Count > 0, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.InsertPlaylist, Enabled = insertEnabled && LibraryGroup.Current.Playlists.Count > 0, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.SendToSign, Enabled = TabControl.Current != null, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.Copy, Enabled = canCopy, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.Paste, Enabled = canPast, Visibility = ItemVisibility.Always } //, new MenuCommand{Command= MenuCommands.SendToSign, Enabled = insertEnabled // && TabControl.Current.Sign.Controller.Connection.User.Status == UserStatus.Online // &&!ScheduleControl.Current.ChangedService.HasChanged // &&ControlService.SignCombo.Current==TabControl.Current.Sign // &&ControlService.SignCombo.Current.Controller.Connection.User.IsFtpRole // &&isSaved, Visibility = ItemVisibility.Always} , new MenuCommand { Command = MenuCommands.SendToLiveStorage, Enabled = false, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.Save, Enabled = TabControl.Current != null && TabControl.Current.Model != null && TabControl.Current.ChangedService.HasChanged, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.SaveAs, Enabled = TabControl.Current != null && TabControl.Current.Model != null && TabControl.Current.Model.Items.Length > 0, Visibility = ItemVisibility.Always } })); //if (TabControl.Current == null || TabControl.Current.Model == null) // LocalMessageBus.Send(this, new PWMessage<MenuCommands>(MenuCommands.NewScheduler)); }
private void btnSave_Click(object sender, EventArgs e) { LocalMessageBus.Send(this, new PWMessage <MenuCommands>(MenuCommands.Save)); }
protected override void InitModule() { base.InitModule(); LocalMessageBus.Subject <SelectedSignMessage>().Observers += new ObserverHandler <SelectedSignMessage>(SchedulerModule_Observers); }
protected override void ModuleShown() { base.ModuleShown(); ControlService.SetPlaylistLibraryTree(); bool insertEnabled = TabControl.Current != null; bool insertMessage = insertEnabled && LibraryGroup.Current.Messages.Count > 0; bool insertTimeSliceGroup = insertEnabled && LibraryGroup.Current.TimeSliceGroups.Count > 0; bool insertPlaylist = insertEnabled && LibraryGroup.Current.Playlists.Count > 0; bool sendToEnabled = HasInLibrary && !TabControl.Current.ChangedService.HasChanged; bool canCopy = insertEnabled && CopyAction.CanCopy; bool canPast = insertEnabled && CopyAction.CanPaste; bool canOpen = CommonHelper.IsShowOpenDialog(LibraryType.Playlist); LocalMessageBus.Send(null, new MenuMessage(new MenuCommand[] { new MenuCommand { Command = MenuCommands.Insert, Enabled = insertEnabled, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.InsertMessage, Enabled = insertMessage, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.InsertTimeSlice, Enabled = insertTimeSliceGroup, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.InsertPlaylist, Enabled = insertPlaylist, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.Text, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.Open, Enabled = canOpen } , new MenuCommand { Command = MenuCommands.Image, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.Video, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.DynamicText, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.DynamicVideo, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.Time, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.Temperature, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.Copy, Enabled = canCopy, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.Paste, Enabled = canPast, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.SendToLiveStorage, Enabled = sendToEnabled, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.SendToSign, Enabled = TabControl.Current != null, Visibility = ItemVisibility.Never } , new MenuCommand { Command = MenuCommands.SendToScheduler, Enabled = TabControl.Current != null, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.SendMessageOrPlaylistToSign, Enabled = TabControl.Current != null, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.SendPlayListToSign, Enabled = TabControl.Current != null, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.Save, Enabled = TabControl.Current != null && TabControl.Current.Model != null && TabControl.Current.ChangedService.HasChanged, Visibility = ItemVisibility.Always } , new MenuCommand { Command = MenuCommands.SaveAs, Enabled = TabControl.Current != null && TabControl.Current.Model != null && TabControl.Current.Model.Items.Length > 0, Visibility = ItemVisibility.Always } })); //if ((TabControl.Current == null || TabControl.Current.Model == null) && TabControl.TabPages.Count == 0) // New(); //if (TabControl.Current == null || TabControl.Current.Model == null) // LocalMessageBus.Send(this, new PWMessage<MenuCommands>(MenuCommands.NewPlaylist)); }
public static void OnBlankSign() { SignInfo sign = ControlService.SignCombo.Current; BlankSign blankSign = new BlankSign(); blankSign.Mode = 1; blankSign.Flag = -1; int flag = 0; LocalMessageBus.Send(null, new MenuMessage(new MenuCommand[] { new MenuCommand { Command = MenuCommands.UnBlankSign, Caption = "Play", Enabled = false } , new MenuCommand { Command = MenuCommands.BlankSign, Caption = "Stop", Enabled = false } })); DataGate.Log.Info("Start get the Sign state.Content:blankSign.Mode=1,blankSign.Flag=-1"); if (sign.Controller.Connection.State == System.Communication.ConnectionState.Opened || sign.Controller.Connection.User.Status == UserStatus.Online) { //Cursor.Current = Cursors.WaitCursor; sign.Controller.SendAsync( Commands.BlankSign, p => { //Cursor.Current = Cursors.Default; if (!p.IsSuccessed) { DataGate.Log.Error("Get sign state failed"); //if (p.Packet.HasError) // log.Error(p.Packet.ActionError.Message); //if (p.Exception != null) // log.Error(p.Exception.Message, p.Exception); string caption = "Stop"; MenuCommands command = MenuCommands.BlankSign; LocalMessageBus.Send(null, new MenuMessage(new MenuCommand[] { new MenuCommand { Command = command, Caption = caption, Enabled = true } })); //MsgBox.Error(Resources.Resource.GetString(Resources.Resource.Strings.SetBlankSignFailed));//"Blank sign failed."); } else { flag = p.Packet.Content.GetProperty <int>("Mode"); DataGate.Log.Info("Get sign state successed.Content:flag=" + flag); string caption = "Stop"; MenuCommands command = MenuCommands.BlankSign; if (flag == 3 || flag == 4 || flag == 5) { sign.MessageStatus = "Stopped"; ControlService.CurrentClip.SetPicImageNull(); if (!ServiceManager.Get <bool>()) { ServiceManager.Remove <bool>(); ServiceManager.Add <bool>(true); } caption = "Play"; command = MenuCommands.UnBlankSign; LocalMessageBus.Send(null, new MenuMessage(new MenuCommand[] { new MenuCommand { Command = command, Caption = caption, Enabled = true } , new MenuCommand { Command = MenuCommands.BlankSign, Caption = "Stop", Enabled = false } })); } else { if (ServiceManager.Get <bool>()) { ServiceManager.Remove <bool>(); ServiceManager.Add <bool>(false); } switch (flag) { case 0: sign.MessageStatus = "Playing"; break; case 1: sign.MessageStatus = "Live mode"; break; case 2: sign.MessageStatus = "Test Pattern"; break; } LocalMessageBus.Send(null, new MenuMessage(new MenuCommand[] { new MenuCommand { Command = command, Caption = caption, Enabled = true } , new MenuCommand { Command = MenuCommands.UnBlankSign, Caption = "Play", Enabled = false } })); } ControlService.DashboardTree.PopulateTree(); //sign.IsBlankSign = false; //MsgBox.Warning(Resources.Resource.GetString(Resources.Resource.Strings.SetBlankSignSuccessed));//"Blank sign successed"); //ActionHelper.OnBlankSign(false); } }, blankSign); } }
public void BuildAndStart(StartupEventArgs startupEventArgs) { #if DEBUG var listener = new OnkoTePlaDebugListener(); Debug.Listeners.Add(listener); #endif AssureAppDataDirectoriesExist(); connectionService = new ConnectionService(); var eventBus = new ClientEventBus(connectionService); var commandHandlerCollection = new SingleHandlerCollection <DomainCommand>(); var commandMessageBus = new LocalMessageBus <DomainCommand>(commandHandlerCollection); var commandBus = new CommandBus(commandMessageBus); var persistenceService = new LocalSettingsXMLPersistenceService(GlobalConstants.LocalSettingsPersistenceFile); localSettingsRepository = new LocalSettingsRepository(persistenceService); localSettingsRepository.LoadRepository(); var clientMedicalPracticeRepository = new ClientMedicalPracticeRepository(connectionService); var clientPatientRepository = new ClientPatientRepository(connectionService); var clienttherapyPlaceTypeRepository = new ClientTherapyPlaceTypeRepository(connectionService); var clientLabelRepository = new ClientLabelRepository(connectionService); var clientReadmodelRepository = new ClientReadModelRepository(eventBus, clientPatientRepository, clientMedicalPracticeRepository, clientLabelRepository, connectionService); var workFlow = new ClientWorkflow(); var session = new Session(connectionService, workFlow); var fatalErrorHandler = new FatalErrorHandler(session); var commandService = new CommandService(session, clientReadmodelRepository, commandBus); var userActionBuilder = new UserActionBuilder(commandService); // CommandHandler var addAppointmentCommandHandler = new AddAppointmentCommandHandler(connectionService, session, clientPatientRepository, userActionBuilder, fatalErrorHandler.HandleFatalError); var deleteAppointmentCommandHandler = new DeleteAppointmentCommandHandler(connectionService, session, clientPatientRepository, userActionBuilder, fatalErrorHandler.HandleFatalError); var replaceAppointmentCommandHandler = new ReplaceAppointmentCommandHandler(connectionService, session, clientPatientRepository, clientMedicalPracticeRepository, userActionBuilder, fatalErrorHandler.HandleFatalError); commandBus.RegisterCommandHandler(addAppointmentCommandHandler); commandBus.RegisterCommandHandler(deleteAppointmentCommandHandler); commandBus.RegisterCommandHandler(replaceAppointmentCommandHandler); // initiate ViewModelCommunication var handlerCollection = new MultiHandlerCollection <ViewModelMessage>(); IMessageBus <ViewModelMessage> viewModelMessageBus = new LocalMessageBus <ViewModelMessage>(handlerCollection); IViewModelCollectionList viewModelCollections = new ViewModelCollectionList(); IViewModelCommunication viewModelCommunication = new ViewModelCommunication(viewModelMessageBus, viewModelCollections); var mainWindowBuilder = new MainWindowBuilder(localSettingsRepository, clientPatientRepository, clientMedicalPracticeRepository, clientReadmodelRepository, clienttherapyPlaceTypeRepository, clientLabelRepository, commandService, viewModelCommunication, session, fatalErrorHandler.HandleFatalError); var mainWindow = mainWindowBuilder.BuildWindow(); mainWindow.Show(); #if DEBUG var debugOutputWindowViewModel = new DebugOutputWindowViewModel(listener); var debugWindow = new DebugOutputWindow { Owner = mainWindow, DataContext = debugOutputWindowViewModel }; debugWindow.Show(); #endif }
protected override void Dispose(bool disposing) { base.Dispose(disposing); LocalMessageBus.Subject <LibraryRenameMessage>().Observers -= new ObserverHandler <LibraryRenameMessage>(OnLibraryRename); //LocalMessageBus.Subject<LibraryImageChangeMessage>().Observers -= new ObserverHandler<LibraryImageChangeMessage>(OnLibraryImageChange); }
/// <summary> /// Login /// </summary> /// <param name="sign"></param> /// <param name="password"></param> private void DoLogin(SignInfo sign, string password) { if (string.IsNullOrEmpty(password) || password.Trim() == "") { password = "******"; } DataGate.Log.Info("Start logon."); connStatus.Login = sign.Controller.UserManager.Login("adm", "123", p => { if (ftpOpenTask.IsCanceled) { return; } if (p.IsSuccessed) { DataGate.Log.Info("Logon successed."); this.picSuccess.Image = Resources.Resource.GetImage(Resources.Resource.Images.Pass); System.Windows.Forms.Timer timer = new System.Windows.Forms.Timer(); timer.Tick += new EventHandler(timer_tick2); timer.Interval = 200; timer.Start(); Thread.Sleep(1000); this.Result = true; if (IsTreeList) { int h = sign.Height; int w = sign.Width; sign.Height = 10000; sign.Width = 10000; LocalMessageBus.Send(this, new DataChangedMessage(PWDataType.Dashboard)); LocalMessageBus.Send(this, new ActiveChange(sign, false)); sign.Height = h; sign.Width = w; ControlService.DashboardTree.DashboardTreeList.Cursor = Cursors.Default; ControlService.DashboardTree.PopulateTree(); ControlService.DashboardTree.DashboardTreeList.FocusedNode = ControlService.DashboardTree.DashboardTreeList.FindNodeByFieldValue("Name", sign.Name); var focusedNode = ControlService.DashboardTree.DashboardTreeList.FindNodeByFieldValue("Name", sign.Name); if (focusedNode != null) { focusedNode.ImageIndex = 2; } ControlService.SignCombo.Current = sign; ActionHelper.OnAfterLogin(sign.Controller.Connection.User); } //Close(); } else { DataGate.Log.Error("Logon failed."); Result = false; picError.Visible = true; lblError.Visible = true; this.btnRetry.Enabled = true; this.Cursor = Cursors.Default; Action successCallback = null; Action failCallback = null; var action = new LogoffAction(sign, successCallback, failCallback, false); action.Perform(); OnLoginFailed(p.Packet); } connStatus = null; }); if (IsTreeList) { ControlService.DashboardTree.DashboardTreeList.Cursor = Cursors.Default; } }
protected override bool OnEdit() { if (!CheckSignInfo()) { return(false); } if (this.ddlSignParent.Text != SelectText && ddlSignParent.Text != Current.ParentName) { /////判断被拖入的Group的sign个数是否超过20 if (!SignGroupInfo.IsTwoGroupSameRoot(Current.Parent as SignGroupInfo, ddlSignParent.SelectedItem as SignGroupInfo)) { var parent = ddlSignParent.SelectedItem as SignGroupInfo; if (SignGroupInfo.IsSignCountValid(parent)) { MsgBox.Warning(Resource.GetString(Resource.Strings.SignsCountMoreThanTwenty)); return(false); } } } //如果SignParent选择的是“No Group”,则该Sign的Parent为树根 if (Current.Name != txtSignName.Text.Trim()) { if (DashboardItem._allSigns.Contains(txtSignName.Text.Trim()) || DashboardItem._allGroups.Contains(txtSignName.Text.Trim())) { MsgBox.Error(Resource.GetString(Resource.Strings.DashBoard_SaveSignRepeat)); return(false); } } #region About Connection /*/////////////////////////////////// * * */ if (isLiveSign && !_isAddToGroup) { //this.Enabled = false; this.btnSave.Enabled = false; if (isConnect) { //if (isOnline) // OnLogoff(); //else // OnDisConncetion(); DoDisconnect(); this.btnSave.Enabled = true; } else { if (!CheckLiveInfo()) { this.btnSave.Enabled = true; return(false); } Current.Name = txtSignName.Text.Trim(); DoConnect(); this.btnSave.Enabled = true; } //return false; } /*////////////////////////// * * * * //////////////////////////*/ #endregion if (!_isAddToGroup) { if (Current.Controller.Connection.State == System.Communication.ConnectionState.Opened) { int h = Current.Height; int w = Current.Width; Current.Height = 10000; Current.Width = 10000; LocalMessageBus.Send(this, new DataChangedMessage(PWDataType.Dashboard)); LocalMessageBus.Send(this, new ActiveChange(Current, false)); Current.Height = h; Current.Width = w; return(true); } Current.Name = txtSignName.Text.Trim(); //SetTemplate(); //SignType Current.Type = (SignType)Enum.Parse(typeof(SignType), ddlSignType.SelectedItem.ToString()); Current.IsWebCam = rdbWebCam.Checked; Current.Height = 10000; Current.Width = 10000; LocalMessageBus.Send(this, new DataChangedMessage(PWDataType.Dashboard)); LocalMessageBus.Send(this, new ActiveChange(Current, false)); Current.Height = Current.Template.Sign.Height = Convert.ToInt32(txtHeight.Text); Current.Width = Current.Template.Sign.Width = Convert.ToInt32(txtWidth.Text); //SetSignTemplateValue(); Current.Active = true; if (Current.DashboardType != DashboardType.Sign) { Current.SignInfomation = Current.Height.ToString() + " x " + Current.Width.ToString(); } //Current.SignInfomation = Current.Name + " : " + Current.Height.ToString() + " x " + Current.Width.ToString() + " : " + Current.Type.ToString(); Current.Template.Sign.SignType = Current.Type; if (btSignImage.Text.Trim() == "") { Current.Image = Current.Template.Sign.Image = ""; } } if (this.ddlSignParent.Text == SelectText) { Current.Parent = DataGate.Project.RootGroup; } else { var parent = ddlSignParent.SelectedItem as SignGroupInfo; if (!parent.IsSameSignType(Current, parent)) { MsgBox.Warning("Sign information is not equal"); return(false); } Current.Parent = ddlSignParent.SelectedItem as SignGroupInfo; } isSaveClose = true; return(true); }
void btnSignDetail_Click(object sender, System.EventArgs e) { SettingDialog settingDialog = new SettingDialog(); settingDialog.HaveParmeter = true; if (Current.Name != txtSignName.Text.Trim()) { if (DashboardItem._allSigns.Contains(txtSignName.Text.Trim()) || DashboardItem._allGroups.Contains(txtSignName.Text.Trim())) { MsgBox.Error(Resource.GetString(Resource.Strings.DashBoard_SaveSignRepeat)); return; } } Current.Name = txtSignName.Text.Trim(); Current.Type = Current.Template.Sign.SignType = (SignType)Enum.Parse(typeof(SignType), ddlSignType.SelectedItem.ToString()); if (txtHeight.Text.Trim() != "") { Current.Height = Current.Template.Sign.Height = Convert.ToInt32(txtHeight.Text); } if (txtWidth.Text.Trim() != "") { Current.Width = Current.Template.Sign.Width = Convert.ToInt32(txtWidth.Text); } if (btSignImage.Text.Trim() == "") { Current.Image = Current.Template.Sign.Image = ""; } else { Current.Image = Current.Template.Sign.Image = strImageFullName; } this.Hide(); SettingDialog.DisplaySign(Current, this); this.Show(); if (Current.DashboardType == DashboardType.Sign && Current.Controller.Connection.State == System.Communication.ConnectionState.Opened) { Current.Template.Sign.Height = Convert.ToInt32(txtHeight.Text); Current.Template.Sign.Width = Convert.ToInt32(txtWidth.Text); } else { txtHeight.Text = Current.Template.Sign.Height.ToString(); txtWidth.Text = Current.Template.Sign.Width.ToString(); Current.Height = 10000; Current.Width = 10000; LocalMessageBus.Send(this, new DataChangedMessage(PWDataType.Dashboard)); LocalMessageBus.Send(this, new ActiveChange(Current, false)); Current.Height = Current.Template.Sign.Height; Current.Width = Current.Template.Sign.Width; signOld.Height = Current.Template.Sign.Height; signOld.Width = Current.Template.Sign.Width; } btSignImage.Text = Current.Image = strImageFullName = Current.Template.Sign.Image; btnDeleteImage.Enabled = !string.IsNullOrEmpty(btSignImage.Text); ddlSignType.SelectedItem = Current.Template.Sign.SignType; //BindCombox(); //if (SettingDialog.CurrentGroup != null) //{ // ddlTemplate.SelectedItem = SettingDialog.CurrentGroup; // InitDefaultItem(SettingDialog.CurrentGroup); //} //else //{ // ddlTemplate.SelectedItem = group; // InitDefaultItem(group); //} //} }
/// <summary> /// ddlCurrentSign改变后的事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ddlCurrentSign_SelectedIndexChanged(object sender, EventArgs e) { LocalMessageBus.Send(this, new SelectedSignMessage((sender as LookUpEdit).EditValue as SignInfo)); CurrentSignChanged(); }
public void Dispose() { LocalMessageBus.Subject <PWMessage <MenuCommands> >().Observers -= Update; }