AcManager.Pages.Drive.Rsr.ViewModel.LoadData C# (CSharp) 메소드

LoadData() 개인적인 메소드

private LoadData ( ) : string>>.Task
리턴 string>>.Task
            private async Task<Tuple<string, string>> LoadData() {
                Car = null;
                CarSkin = null;
                Track = null;

                string uri;
                if (EventId.Contains(@"/")) {
                    var splitted = EventId.Split('/');
                    uri = $"http://www.radiators-champ.com/RSRLiveTiming/index.php?page=rank&track={splitted[0]}&car={splitted[1]}";
                } else {
                    uri = $"http://www.radiators-champ.com/RSRLiveTiming/index.php?page=event_rank&eventId={EventId}";
                }

                string page;
                using (var client = new WebClient {
                    Headers = {
                        [HttpRequestHeader.UserAgent] = InternalUtils.GetKunosUserAgent(),
                        [@"X-User-Agent"] = CmApiProvider.UserAgent
                    }
                }) {
                    page = await client.DownloadStringTaskAsync(uri);
                }

                var carIdMatch = Regex.Match(page, @"\bdata-car=""([\w-]+)""");
                var trackIdMatch = Regex.Match(page, @"\bdata-track=""([\w-]+)""");
                var trackLayoutIdMatch = Regex.Match(page, @"\bdata-track-layout=""([\w-]+)""");
                if (!carIdMatch.Success || !trackIdMatch.Success) return null;

                var carId = carIdMatch.Groups[1].Value;
                var trackId = trackIdMatch.Groups[1].Value;
                var trackLayoutId = trackLayoutIdMatch.Success ? trackLayoutIdMatch.Groups[1].Value : null;

                if (trackLayoutId == trackId) {
                    trackLayoutId = null; // TODO: temporary fix
                }

                Car = CarsManager.Instance.GetById(carId);
                CarSkin = Car?.SelectedSkin;
                Track = TracksManager.Instance.GetLayoutById(trackId, trackLayoutId);

                return new Tuple<string, string>(carId, trackId);
            }