public static void Main(string[] args) { try { ConsoleView consoleView = new ConsoleView(); _presenterBuilder = new PresenterBuilder(consoleView); _presenterBuilder.Build(); // Start application. consoleView.Start(args); } catch (InvalidDataException ex) { Console.Clear(); Console.WriteLine(Application.ProductName + Resources.Space + Application.ProductVersion); Console.WriteLine(String.Empty); Console.WriteLine(@ex.Message); Console.WriteLine(String.Empty); Console.WriteLine(Resources.MessagePressAnyKeyToContinue); Console.ReadKey(); Environment.Exit(255); } catch (XmlException ex) { Console.Clear(); Console.WriteLine(Application.ProductName + Resources.Space + Application.ProductVersion); Console.WriteLine(String.Empty); Console.WriteLine(@ex.Message); Console.WriteLine(String.Empty); Console.WriteLine(Resources.MessagePressAnyKeyToContinue); Console.ReadKey(); Environment.Exit(255); } catch (Exception ex) { Console.Clear(); Console.WriteLine(Application.ProductName + Resources.Space + Application.ProductVersion); Console.WriteLine(String.Empty); Console.WriteLine(@Resources.MessageUnexpectedError, @ex.Message); Console.WriteLine(String.Empty); Console.WriteLine(Resources.MessagePressAnyKeyToContinue); Console.ReadKey(); Environment.Exit(255); } finally { if (_presenterBuilder != null) { _presenterBuilder.Dispose(); } } }
static void Main(string[] args) { const string Space = " "; try { Console.WriteLine(@Resources.MessageApplicationInfo, Application.ProductVersion); _windowsServiceView = new WindowsServiceView(); _presenterBuilder = new PresenterBuilder(_windowsServiceView); _presenterBuilder.Build(); // Start application. _windowsServiceView.Start(args); // Set started to true; _isStarted = true; } catch (InvalidDataException ex) { Console.Clear(); Console.WriteLine(Application.ProductName + Space + Application.ProductVersion); Console.WriteLine(String.Empty); Console.WriteLine(@ex.Message); Console.WriteLine(String.Empty); Console.WriteLine(Resources.MessagePressAnyKeyToContinue); Console.ReadKey(); Environment.Exit(255); } catch (XmlException ex) { Console.Clear(); Console.WriteLine(Application.ProductName + Space + Application.ProductVersion); Console.WriteLine(String.Empty); Console.WriteLine(@ex.Message); Console.WriteLine(String.Empty); Console.WriteLine(Resources.MessagePressAnyKeyToContinue); Console.ReadKey(); Environment.Exit(255); } catch (Exception ex) { Console.Clear(); Console.WriteLine(Application.ProductName + Space + Application.ProductVersion); Console.WriteLine(String.Empty); Console.WriteLine(@Resources.MessageUnexpectedError, @ex.Message); Console.WriteLine(String.Empty); Console.WriteLine(Resources.MessagePressAnyKeyToContinue); Console.ReadKey(); Environment.Exit(255); } finally { // If not started successfully then dispose. if (!_isStarted) { if (_presenterBuilder != null) { _presenterBuilder.Dispose(); } } } // If application was started. if (_isStarted) { Console.ReadLine(); // Stop application. _windowsServiceView.Stop(); if (_presenterBuilder != null) { _presenterBuilder.Dispose(); } } }
/// <summary> /// Handles OnStop event. /// </summary> /// <remarks>This method will blocks until all the processes have exited.</remarks> protected override void OnStop() { if (_isStarted) { _windowsServiceView.Stop(); _isStarted = false; } if (_presenterBuilder != null) { _presenterBuilder.Dispose(); _presenterBuilder = null; } }
/// <summary> /// Handles OnStart event. /// </summary> /// <param name="args">Windows service arguments.</param> protected override void OnStart(string[] args) { _windowsServiceView = new WindowsServiceView(); _presenterBuilder = new PresenterBuilder(_windowsServiceView); _presenterBuilder.Build(); // Start application. _windowsServiceView.Start(args); // Set started to true; _isStarted = true; }
/// <summary> /// Builds application forms. /// </summary> /// <returns>Main form.</returns> private static FormMain BuildApplicationForms() { _formMain = new FormMain(); _formOptions = new FormOptions(); _formProperties = new FormProperties(); _presenterBuilder = new PresenterBuilder(_formMain, _formMain, _formOptions, _formProperties); try { // Builds presenters and applies configuration. _presenterBuilder.Build(); } catch (InvalidDataException ex) { MessageBox.Show(ex.Message, Resources.MessageBoxCaptionApplication, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, 0); Dispose(); Environment.Exit(255); } catch (XmlException ex) { MessageBox.Show(ex.Message, Resources.MessageBoxCaptionApplication, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, 0); Dispose(); Environment.Exit(255); } return _formMain; }
/// <summary> /// Dispose. /// </summary> private static void Dispose() { if (_presenterBuilder != null) { _presenterBuilder.Dispose(); _presenterBuilder = null; } if (_formMain != null) { _formMain.Dispose(); _formMain = null; } if (_formOptions != null) { _formOptions.Dispose(); _formOptions = null; } if (_formProperties != null) { _formProperties.Dispose(); _formProperties = null; } }