public EventCallBackHandler(NotifyIcon notifyIcon, IApplicationController ctroller, ServiceStatusManager statusManager) { NotifyIcon = notifyIcon; controller = ctroller; serviceStatusManager = statusManager; }
private void InitializeContext(bool showUpdateDateMsg = false) { components = new System.ComponentModel.Container(); InitializeMef(); controller = container.GetExportedValue<IApplicationController>(); controller.Initialize(); controller.SetAddFileCommand(new DelegateCommand(AddFile)); controller.SetAddApiTokenCommand(new DelegateCommand(AddApiToken)); controller.SetUpdateApiTokenCommand(new DelegateCommand(UpdateApiToken)); controller.SetRemoveApiTokenCommand(new DelegateCommand(RemoveApiToken)); controller.SetUploadFilesCommand(new DelegateCommand(ForceUploads)); controller.SetGetFilesCommand(new DelegateCommand(GetFiles)); controller.SetGetTokensCommand(new DelegateCommand(GetTokens)); controller.SetGetDeleteFileCommand(new DelegateCommand(DeleteFile)); controller.SetUpdateFilesCommand(new DelegateCommand(UpdateFileInfo)); NotifyIcon = new NotifyIcon(components) { ContextMenuStrip = new ContextMenuStrip(), Icon = Core.Properties.Resources.NotifyIcon, Text = Core.Properties.Resources.DefaultNotificationToolTip, BalloonTipText = Core.Properties.Resources.DefaultNotificationToolTip }; //Status manager is ues to check if windows WCF service is runing and if windows server is running ServiceStatusManager = new ServiceStatusManager(NotifyIcon, controller); NotifyIcon.ContextMenuStrip.Opening += ContextMenuStripOpening; NotifyIcon.DoubleClick += NotifyIconDoubleClick; NotifyIcon.MouseUp += NotifyIconMouseUp; NotifyIcon.Visible = true; try { var updaterChecker = Util.CreateUpdater(); updateIsRequired = updaterChecker.IsUpdateFileExist(); if (updateIsRequired) { if (DoUpdateMsg(updaterChecker.Manifest.AppVersion) == DialogResult.Yes) { updaterChecker.ExecuteOutProcessUpdate(); return; } } if (showUpdateDateMsg) MessageBox.Show(Resources.IsUptoDateMsg, Resources.UpdateAlertCaption, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1); updateTimer = new Timer { Interval = 1000 * 60 * Settings.Default.UpdateIntervalInMinutes }; updateTimer.Tick += (s, e) => CheckUpdateApp(false); updateTimer.Start(); Process.Start("TicketEvolution.Updater.exe"); } catch (Exception ex) { Log.DebugFormat("Exception occured trying to start Updater: {0}", ex.Message); } }