예제 #1
0
 public SaveCommand(IYmlParser ymlParser, IWebProvider webProvider, IRepository repository, ILogger <SaveCommand> logger)
 {
     this.ymlParser   = ymlParser ?? throw new ArgumentNullException(nameof(ymlParser));
     this.webProvider = webProvider ?? throw new ArgumentNullException(nameof(webProvider));
     this.repository  = repository ?? throw new ArgumentNullException(nameof(repository));
     this.logger      = logger ?? throw new ArgumentNullException(nameof(logger));
 }
예제 #2
0
파일: Web.cs 프로젝트: Fedorm/core-master
        public Web(IScriptEngine engine, IWebProvider provider)
        {
            Assert.IsNotNull(engine); Assert.IsNotNull(provider);

            _scriptEngine = engine;
            _provider     = provider;
        }
예제 #3
0
파일: Web.cs 프로젝트: Fedorm/core-master
        public Web(IScriptEngine engine, IWebProvider provider)
        {
            Assert.IsNotNull(engine); Assert.IsNotNull(provider);

            _scriptEngine = engine;
            _provider = provider;
        }
예제 #4
0
        private void MainWorkerFunc(object sender, DoWorkEventArgs e)
        {
            //Ротация в цикле
            while (true)
            {
                //Если источник не загружен
                if (!IsSourceLoaded)
                {
                    Profile currentProfile = ProfileManager.CurrentProfile;
                    //Добавляем задачу загрузки
                    TaskManager.AquireLock(LoadingTask);
                    //Показываем анимацию загрузки
                    IsLoadingAnim(true, true);
                    IsStatic       = false;
                    IsErrorOccured = false;
                    //Получаем информацию, необходимую для ротации
                    GuildName = currentProfile.Rotation.Guild;
                    TamerName = currentProfile.Rotation.Tamer;

                    IConfiguration   config          = ConfigurationManager.GetConfiguration(currentProfile.GameModel);
                    IWebProvider     webProvider     = config.CreateWebProvider();
                    IServersProvider serversProvider = config.ServersProvider;
                    //Проверяем, доступен ли веб-профиль и необходимая информация

                    IsStatic = webProvider == null || string.IsNullOrEmpty(GuildName);
                    if (!IsStatic)
                    {
                        Server = serversProvider.GetServerById(currentProfile.Rotation.ServerId);
                        //Регистрируем ивенты загрузки
                        webProvider.StatusChanged     += EventProxy.OnStatusChanged;
                        webProvider.DownloadCompleted += EventProxy.OnDownloadCompleted;
                        //Получаем информацию о списках гильдии
                        webProvider.GetActualGuild(Server, GuildName, false, currentProfile.Rotation.UpdateInterval + 1);
                        //Убираем обработку ивентов
                        webProvider.DownloadCompleted -= EventProxy.OnDownloadCompleted;
                        webProvider.StatusChanged     -= EventProxy.OnStatusChanged;
                    }
                    //Проверяем не произошла ли ошибка
                    if (!IsErrorOccured)
                    {
                        //Закрываем анимацию, устанавливаем флаг загрузки
                        IsLoadingAnim(false);
                    }
                    TaskManager.ReleaseLock(LoadingTask);
                    IsSourceLoaded = true;
                }

                if (!IsErrorOccured && IsSourceLoaded)
                {
                    UpdateModel();
                    System.Threading.Thread.Sleep(ROTATION_INTERVAL);
                }
            }
        }
예제 #5
0
        protected override void OnProfileChanged(object sender, BaseEventArgs e)
        {
            IConfiguration currentConfiguration = ConfigurationManager.GetConfiguration(ProfileManager.CurrentProfile.GameModel);

            serversProvider = currentConfiguration.ServersProvider;
            webProvider     = currentConfiguration.CreateWebProvider();
            GuildInfoModel.UnLoadData();
            TDBlock_.ClearAll();
            IsDetailedCheckbox.IsChecked = false;
            // use lazy ServerList initialization to prevent first long EF6 database
            // init causes the long app start time
            if (IsPageActivated)
            {
                LoadServerList();
            }
        }
예제 #6
0
 public OpenWeather(IWebProvider webProvider, IOptions <OpenWeatherOptions> weatherServiceOptions)
     : base(webProvider, weatherServiceOptions)
 {
 }
예제 #7
0
 public Weatherbit(IWebProvider webProvider, IOptions <WeatherbitOptions> weatherServiceOptions)
     : base(webProvider, weatherServiceOptions)
 {
 }
예제 #8
0
 public StoryService(IWebProvider webProvider, IMapperFactory mapperFactory)
 {
     _webProvider   = webProvider;
     _mapperFactory = mapperFactory;
 }
예제 #9
0
 public OperationProvider(IWebProvider _provider)
 {
     this.webProvider = _provider;
 }
 protected override void OnProfileChanged(object sender, BaseEventArgs e)
 {
     IConfiguration currentConfiguration = ConfigurationManager.GetConfiguration(ProfileManager.CurrentProfile.GameModel);
     serversProvider = currentConfiguration.ServersProvider;
     webProvider = currentConfiguration.CreateWebProvider();
     GuildInfoModel.UnLoadData();
     TDBlock_.ClearAll();
     IsDetailedCheckbox.IsChecked = false;
     // use lazy ServerList initialization to prevent first long EF6 database
     // init causes the long app start time
     if (IsPageActivated) {
         LoadServerList();
     }
 }
예제 #11
0
 public WorldWeatherOnline(IWebProvider webProvider, IOptions <WorldWeatherOnlineOptions> weatherServiceOptions)
     : base(webProvider, weatherServiceOptions)
 {
 }
예제 #12
0
 public WeatherService(IWebProvider webProvider, IOptions <WeatherOptions> weatherServiceOptions)
 {
     this.webProvider           = webProvider;
     this.weatherServiceOptions = weatherServiceOptions.Value;
 }