예제 #1
0
        public SetupSettings LoadSettings(string setupSettingsFilePath = null)
        {
            if (_setupSettings != null && _setupSettings.HasSetupDatabase && _setupSettings.HasSeededData)
            {
                return(_setupSettings);
            }

            setupSettingsFilePath ??= SetupSettingsConst.SetupConfigurationPath;
            if (!_fileProvider.FileExists(setupSettingsFilePath))
            {
                var installSettings = new SetupSettings()
                {
                    IsInitialized = true,
                    CreateDatabaseScriptFilePath = SetupSettingsConst.CreateDatabaseSchemaPath,
                    SeedDataJsonFilePath         = SetupSettingsConst.PrepareDataPath
                };

                SaveSettings(installSettings, setupSettingsFilePath);
                _setupSettings.IsInitialized = true;
                return(installSettings);
            }

            var settingText = _fileProvider.ReadText(setupSettingsFilePath, Encoding.UTF8);

            if (string.IsNullOrEmpty(settingText))
            {
                return(new SetupSettings());
            }

            var setupSettings = JsonConvert.DeserializeObject <SetupSettings>(settingText);

            _setupSettings.HasSetupDatabase = setupSettings.HasSetupDatabase;
            _setupSettings.HasSeededData    = setupSettings.HasSeededData;
            return(setupSettings);
        }
 public HomeController(IMemoryCache memoryCache,
                       IAsk ask,
                       ISettings settings,
                       IParticipation participation,
                       IDraws draws,
                       IHubContext <UpdateHub> hubContext,
                       UpdateHub hub,
                       IOptions <DrawSettings> drawSettings,
                       IOptions <SetupSettings> setupSettings,
                       IOptions <FeaturesSettings> featuresSettings,
                       IOptions <ColdStakingSettings> coldStakingSettings)
 {
     _memoryCache         = memoryCache;
     _ask                 = ask;
     _settings            = settings;
     _participation       = participation;
     _draws               = draws;
     _hub                 = hub;
     _hubContext          = hubContext;
     _drawSettings        = drawSettings.Value;
     _setupSettings       = setupSettings.Value;
     _tickerSettings      = tickerSettings.Value;
     _featuresSettings    = featuresSettings.Value;
     _coldStakingSettings = coldStakingSettings.Value;
 }
예제 #3
0
        public void SaveSettings(SetupSettings settings, string setupSettingsFilePath)
        {
            _fileProvider.CreateFile(setupSettingsFilePath);

            var serializerSettings = new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore
            };

            var text = JsonConvert.SerializeObject(settings, Formatting.Indented, serializerSettings);

            _fileProvider.WriteText(setupSettingsFilePath, text, Encoding.UTF8);
        }
        public BlockExplorerController(IMemoryCache memoryCache,
                                       BlockIndexService indexService,
                                       IOptions <NakoSettings> nakoApiSettings,
                                       IOptions <SetupSettings> setupSettings,
                                       IOptions <FeaturesSettings> featuresSettings)
        {
            _memoryCache  = memoryCache;
            _stats        = JsonConvert.DeserializeObject(_memoryCache.Get("BlockchainStats").ToString());
            _indexService = indexService;

            _nakoApiSettings  = nakoApiSettings.Value;
            _setupSettings    = setupSettings.Value;
            _featuresSettings = featuresSettings.Value;
        }
 public HomeController(IMemoryCache memoryCache,
                       IAsk ask,
                       IHubContext <UpdateHub> hubContext,
                       UpdateHub hub,
                       IOptions <SetupSettings> setupSettings,
                       IOptions <FeaturesSettings> featuresSettings,
                       IOptions <ColdStakingSettings> coldStakingSettings)
 {
     _memoryCache         = memoryCache;
     _ask                 = ask;
     _hub                 = hub;
     _hubContext          = hubContext;
     _setupSettings       = setupSettings.Value;
     _featuresSettings    = featuresSettings.Value;
     _coldStakingSettings = coldStakingSettings.Value;
 }
예제 #6
0
 public HomeController(IMemoryCache memoryCache,
                       IAsk ask,
                       ISettings settings,
                       IParticipation participation,
                       IDraws draws,
                       IOptions <DrawSettings> drawSettings,
                       IOptions <SetupSettings> setupSettings,
                       IOptions <FeaturesSettings> featuresSettings)
 {
     _memoryCache      = memoryCache;
     _ask              = ask;
     _settings         = settings;
     _participation    = participation;
     _draws            = draws;
     _drawSettings     = drawSettings.Value;
     _setupSettings    = setupSettings.Value;
     _featuresSettings = featuresSettings.Value;
 }
예제 #7
0
        protected override void OnMessage(MessageEventArgs e)
        {
            try
            {
                BaseRequest <object>  request  = JsonConvert.DeserializeObject <BaseRequest <object> >(e.Data);
                BaseResponse <object> response = new BaseResponse <object>
                {
                    method  = request.method,
                    error   = 0,
                    message = ""
                };
                if (request.method == RequestMethods.RequestSendSettings)
                {
                    if (_engine != null)
                    {
                        response.error   = 1;
                        response.message = "Engine already configured!";
                        goto send_rsp;
                    }

                    SetupSettings setup = ((request.data) as JObject)?.ToObject <SetupSettings>();
                    _engine = new Engine(setup?.engine, setup?.entity);
                    _engine.OnEntityChanged += EngineOnEntityChanged;
                    _engine.OnStatusChanged += EngineOnStatusChanged;
                    _engine.OnHourTick      += EngineOnHourTick;
                    _engine.OnNewDay        += EngineOnNewDay;

                    response.data = _engine.GetEntities();
                    goto send_rsp;
                }

                if (_engine == null)
                {
                    response.error   = 1;
                    response.message = "Engine not configured!";
                    goto send_rsp;
                }

                if (request.method == RequestMethods.RequestStartEmulation)
                {
                    if (_engine.EngineStatus)
                    {
                        response.error   = 1;
                        response.message = "Engine already started!";
                        goto send_rsp;
                    }
                    _engine.Start();
                }

                if (request.method == RequestMethods.RequestStopEmulation)
                {
                    if (!_engine.EngineStatus)
                    {
                        response.error   = 1;
                        response.message = "Engine not started!";
                        goto send_rsp;
                    }
                    _engine.Stop();
                }

send_rsp:

                Send(JsonConvert.SerializeObject(response));
            }
            catch (Exception ex)
            {
                ConsoleTools.DisplayError(ex.Message);
            }
        }
예제 #8
0
 public SetupProvider(IFileProvider fileProvider, SetupSettings setupSettings)
 {
     _fileProvider  = fileProvider;
     _setupSettings = setupSettings;
 }