Esempio n. 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="StumpsService"/> class.
        /// </summary>
        /// <param name="configuration">The configuration.</param>
        /// <exception cref="ArgumentNullException"><paramref name="configuration"/> is <c>null</c>.</exception>
        public StumpsService(StumpsConfiguration configuration)
        {
            configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));

            InitializeComponent();
            _server = new StumpsRunner(configuration);
        }
Esempio n. 2
0
        public void Constructor_WithValidConfiguration_SetsConfigurationProperty()
        {
            var dal    = Substitute.For <IConfigurationDataAccess>();
            var config = new StumpsConfiguration(dal);

            using (var server = new StumpsRunner(config))
            {
                Assert.AreSame(config, server.Configuration);
            }
        }
Esempio n. 3
0
        public static void Main(string[] args)
        {
            var isRunningAsConsole = IsApplicationRunningAsConsole(args);

            var writer = isRunningAsConsole
                              ? (IMessageWriter) new ConsoleWriter()
                              : (IMessageWriter) new EventLogWriter();

            if (IsApplicationAlreadyRunning())
            {
                writer.WriteError(StartupResources.ApplicationRunning);
                return;
            }

            var configurationFile = Path.Combine(
                DefaultConfigurationSettings.StoragePath, DefaultConfigurationSettings.ConfigurationFileName);

            if (args != null && args.Length > 0)
            {
                configurationFile = DetermineConfigurationFileFromArgs(args);
            }

            if (configurationFile == null)
            {
                writer.WriteError(StartupResources.InvalidArguments + string.Join(@" ", args));

                if (isRunningAsConsole)
                {
                    writer.Information(StartupResources.HelpInformation);
                }

                return;
            }

            var configurationDal = new ConfigurationDataAccess(configurationFile);
            var configuration    = new StumpsConfiguration(configurationDal);

            configurationDal.EnsureConfigurationIsInitialized(configuration.SaveConfiguration);

            configuration.LoadConfiguration();

            var startup = isRunningAsConsole ? (IStartup) new ConsoleStartup() : (IStartup) new ServiceStartup();

            startup.Configuration = configuration;
            startup.MessageWriter = writer;

            startup.RunInstance();
        }
Esempio n. 4
0
        public static void Main()
        {
            var configurationFile = Path.Combine(
                DefaultConfigurationSettings.StoragePath, DefaultConfigurationSettings.ConfigurationFileName);

            var configurationDal = new ConfigurationDataAccess(configurationFile);
            var configuration    = new StumpsConfiguration(configurationDal);

            configurationDal.EnsureConfigurationIsInitialized(configuration.SaveConfiguration);

            configuration.LoadConfiguration();

            var urlString = string.Format(CultureInfo.InvariantCulture, "http://localhost:{0}/", configuration.WebApiPort);

            Process.Start(urlString);
        }
Esempio n. 5
0
 /// <summary>
 ///     Initializes a new instance of the <see cref="StumpsServer"/> class.
 /// </summary>
 /// <param name="configuration">The <see cref="StumpsConfiguration"/> used to initialize the instance.</param>
 /// <exception cref="ArgumentNullException"><paramref name="configuration"/> is <c>null</c>.</exception>
 public StumpsRunner(StumpsConfiguration configuration)
 {
     this.Configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));
     _syncRoot          = new object();
 }