Exemplo n.º 1
0
        private async Task EnsureDataLoadedInner()
        {
            try {
                _loadedData = await TheSetupMarketApiProvider.GetSetup(_information.Id) ?? "";

                _iniFile = IniFile.Parse(_loadedData);

                Tyres = _iniFile["TYRES"].GetInt("VALUE", 0);
                Logging.Debug(Tyres);
                OnPropertyChanged(nameof(Values));
            } finally {
                _loaded      = true;
                _loadingTask = null;
            }
        }
Exemplo n.º 2
0
        private static async Task <ArgumentHandleResult> ProcessTheSetupMarketSetup(string id)
        {
            var details = await TheSetupMarketApiProvider.GetSetupFullInformation(id);

            if (details == null)
            {
                throw new InformativeException(AppStrings.Arguments_CannotInstallCarSetup, "The Setup Market is unavailable or has changed.");
            }

            var car     = CarsManager.Instance.GetById(details.Item1.CarId);
            var track   = details.Item1.TrackKunosId == null ? null : TracksManager.Instance.GetLayoutByKunosId(details.Item1.TrackKunosId);
            var setupId = details.Item1.FileName;

            var result = ShowDialog(new SharedEntry {
                Author    = details.Item1.Author,
                Name      = setupId.ApartFromLast(".ini", StringComparison.OrdinalIgnoreCase),
                Data      = new byte[0],
                EntryType = SharedEntryType.CarSetup,
                Id        = setupId,
                Target    = car?.DisplayName ?? details.Item1.CarId
            }, applyable: false, additionalButton: AppStrings.Arguments_SaveAsGeneric);

            switch (result)
            {
            case Choise.Save:
            case Choise.Extra:
                var filename = FileUtils.EnsureUnique(Path.Combine(AcPaths.GetCarSetupsDirectory(details.Item1.CarId),
                                                                   result == Choise.Save
                                    ? (track?.Id ?? details.Item1.TrackKunosId ?? CarSetupObject.GenericDirectory) : CarSetupObject.GenericDirectory, setupId));
                FileUtils.EnsureFileDirectoryExists(filename);
                File.WriteAllText(filename, details.Item2);
                return(ArgumentHandleResult.SuccessfulShow);

            default:
                return(ArgumentHandleResult.Failed);
            }
        }
Exemplo n.º 3
0
        public static async Task <TheSetupMarketAsManager> CreateAsync(CarObject car)
        {
            var data = await TheSetupMarketApiProvider.GetAvailableSetups(car.Id);

            return(data == null ? null : new TheSetupMarketAsManager(car.Id, data));
        }
Exemplo n.º 4
0
 public static async Task <TheSetupMarketAsManager> CreateAsync(CarObject car)
 {
     return(new TheSetupMarketAsManager(car.Id, await TheSetupMarketApiProvider.GetAvailableSetups(car.Id).ConfigureAwait(false)));
 }
Exemplo n.º 5
0
 private async void UpdateTsmSetupsCount()
 {
     TsmSetupsCount = (await TheSetupMarketApiProvider.GetAvailableSetups(Id))?.Count;
 }