Пример #1
0
 public ProvisioningController(OverridableSettings settings, LagOppstillingService lagOppstillingService, CurrentMatchProvider currentMatchProvider, TilgangsKontroll tilgangsKontroll)
 {
     _settings = settings;
     _lagOppstillingService = lagOppstillingService;
     _currentMatchProvider = currentMatchProvider;
     _tilgangsKontroll = tilgangsKontroll;
 }
Пример #2
0
 public GameService(DataContextFactory dataContextFactory, GameStateService gameState, CurrentMatchProvider currentMatchProvider, GameEventPublisher eventPublisher, OverridableSettings settings)
 {
     _dataContextFactory = dataContextFactory;
     _gameState = gameState;
     _currentMatchProvider = currentMatchProvider;
     _eventPublisher = eventPublisher;
     _settings = settings;
 }
Пример #3
0
 public AdminController(GameStateService gameStateService, OverridableSettings appSettings, TilgangsKontroll tilgangsKontroll, PosisjonsService posisjonsService, ExcelImport excelImport, KmlToExcelPoster kmlToExcelPoster, ExcelWriter excelWriter, ExcelExport excelExport, DataContextFactory dataContextFactory, CurrentMatchProvider matchProvider)
 {
     _gameStateService = gameStateService;
     _appSettings = appSettings;
     _tilgangsKontroll = tilgangsKontroll;
     _posisjonsService = posisjonsService;
     _excelImport = excelImport;
     _kmlToExcelPoster = kmlToExcelPoster;
     _excelWriter = excelWriter;
     _excelExport = excelExport;
     _dataContextFactory = dataContextFactory;
     _matchProvider = matchProvider;
 }
Пример #4
0
        private void SetConnectionStringFromEnvironmentVariable()
        {
            if (!string.IsNullOrEmpty(EnvironmentSettingsConnectionKey))
            {
                var environmentVariable = Environment.GetEnvironmentVariable(EnvironmentSettingsConnectionKey,
                    EnvironmentVariableTarget.User);

                if (!string.IsNullOrEmpty(environmentVariable))
                {
                    var settings = new OverridableSettings {DatabaseConnectionString = environmentVariable};

                    _container.Register(
                        Component.For<OverridableSettings>().Instance(settings).IsDefault().Named(Guid.NewGuid().ToString()));
                }
            }
        }
 public DataContextFactory(OverridableSettings appSettings)
 {
     _appSettings = appSettings;
 }
Пример #6
0
 public PosisjonsService(DataContextFactory dataContextFactory, OverridableSettings appSettings)
 {
     _dataContextFactory = dataContextFactory;
     _appSettings = appSettings;
 }
        public void Test_om_mange_tråder_skaper_trøbbel_i_tjenesten()
        {
            var overridableSettings = new OverridableSettings();
            var service = new NoDbPosisjonsService(null, overridableSettings);

            var concurrentList = new ConcurrentStack<Exception>();
            var finished = 0;
            var registrert = 0;
            var pollet = 0;
            var tasks = new Task[100];
            for (var i = 0; i < tasks.Length; i++)
            {
                var task = new Task(() =>
                {
                    int j = 0;
                    while (j < 100)
                    {
                        try
                        {
                            service.RegistrerPosisjon("Lag1", "Deltaker1", 1.0, 1.0);
                            //Interlocked.Increment(ref registrert);
                        }
                        catch (Exception e)
                        {
                            concurrentList.Push(e);
                        }
                        Thread.Sleep(1);
                        j++;
                    }

                    Interlocked.Increment(ref finished);
                });
                tasks[i] = task;
            }
            for (var i = 0; i < tasks.Length; i++)
            {
                tasks[i].Start();
            }

            var pollTasks = new Task[100];
            for (var i = 0; i < pollTasks.Length; i++)
            {
                var task = new Task(() =>
                {
                    int k = 0;
                    while (k < 100)
                    {
                        try
                        {
                            service.HentforLag("Lag1");
                            //Interlocked.Increment(ref pollet);
                        }
                        catch (Exception e)
                        {
                            concurrentList.Push(e);
                        }
                        Thread.Sleep(1);
                        k++;
                    }
                    Interlocked.Increment(ref finished);
                });
                pollTasks[i] = task;
            }
            for (var i = 0; i < pollTasks.Length; i++)
            {
                pollTasks[i].Start();
            }

            while (finished != tasks.Length + pollTasks.Length)
            {
                Thread.Sleep(100);
            }
            Debug.Write(string.Format("{0}-{1}", registrert, pollet));
            Assert.AreEqual(0, concurrentList.Count, "Skulle ikke vært noen Exceptions");
        }
 public NoDbPosisjonsService(DataContextFactory dataContextFactory, OverridableSettings appSettings)
     : base(dataContextFactory, appSettings)
 {
 }
Пример #9
0
 public DataContextFactory(OverridableSettings appSettings)
 {
     _appSettings = appSettings;
 }
Пример #10
0
        public void Given()
        {
            _container = RestApiApplication.CreateContainer();

            _appSettings = new OverridableSettings();
            _container.Register(Component.For<OverridableSettings>().Instance(_appSettings).IsDefault().Named(Guid.NewGuid().ToString()));

            _gitt = new Gitt(_container);
            _dataContextFactory = _container.Resolve<DataContextFactory>();
            TimeService.ResetToRealTime();

            // Slett alle posisjoner (blir rullet tilbake i transaksjon uansett)
            using (var context = _dataContextFactory.Create())
            {
                context.DeltakerPosisjoner.Clear();
                context.SaveChanges();
            }
        }