示例#1
0
 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();
         }
     }
 }
示例#2
0
        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;
 }
示例#5
0
        /// <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;
        }
示例#6
0
 /// <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;
     }
 }