예제 #1
0
        public async Task <string> GetSolarSystemAsync(int galaxy, int solarSystem, ProgresBarData pBData)
        {
            var solarSystemPage = "";
            await Task.Run(() =>
            {
                var request = _requestConfigurator.Configure(RequestType.GetSolarSystem);

                request.AddQueryParameter("page", "galaxy");

                request.AddParameter("galaxy", galaxy);
                request.AddParameter("system", solarSystem);

                var response    = _client.Execute(request);
                solarSystemPage = response.Content;
                if (!IsResponseCorrect(response))
                {
                    SaveIntoLogFile(solarSystemPage);
                    throw new RestException("Problem with download Data, check token or LogIn again");
                }

                lock (pBData)
                {
                    pBData.ActualValue++;
                }
            });

            return(solarSystemPage);
        }
예제 #2
0
        public GetDataViewModel(IGameRestClient gameRestClient)
        {
            _gameRestClient            = gameRestClient;
            usersPlanets               = new ObservableCollection <UserPlanet>();
            GetSolarSystemsDataCommand = new DelegateCommand(async() => { await GetSolarSystemAsync(); }, CanExecute);
            LogInCommand               = new DelegateCommand(async() => { await LogIn(); }, CanExecute);
            SaveTokenCommand           = new DelegateCommand(SaveToken, CanExecute);
            LogOutCommand              = new DelegateCommand(LogOut, CanExecute);
            ShowGetTokenHelpCommand    = new DelegateCommand(ShowGetTokenHelp);
            ReadSavedLogin();
            PbData = new ProgresBarData();

            var dataManager = new UserPlanetDataManager(usersPlanets);

            usersPlanets = dataManager.LoadFromXml("Database" + _gameRestClient.GetGameType() + _gameRestClient.GetUniversum());

            SkanRange = new GalaxySkanRange();
        }