public MissionDataForm(LaunchInfo launchInfo, RocketInfo rocketInfo, LaunchpadInfo launchpadInfo) { _missionData = launchInfo; _rocketInfo = rocketInfo; _launchpadInfo = launchpadInfo; _imagesInMedia = _missionData.Links.Flickr.Original.Count; InitializeComponent(); CenterToScreen(); rocketDetailsButton.Select(); ShowMediaControls(false); ShowRocketData(); AppTips(); }
private void MissionData(int missionNumber) { EnableControls(false); _missionPatchLink = _launchesData[missionNumber].Links.Patch.Large; var missionPatchImageLink = _launchesData[missionNumber].Links.Patch.Small; _missionName = _launchesData[missionNumber].Name; var missionDetails = _launchesData[missionNumber].Details; var vehiclesStatus = _launchesData[missionNumber].Upcoming; var launchStatus = _launchesData[missionNumber].Success; if (string.IsNullOrWhiteSpace(missionPatchImageLink)) { missionPatchImageLabel.Image = (Image)_resources.GetObject("$this.spacexLogo"); } else { missionPatchImageLabel.Image = Task.Run(() => HttpUtil.StreamUrlToImageAndResize(missionPatchImageLink, 256, 256)).Result; } missionNameLabel.Text = string.IsNullOrWhiteSpace(_missionName) ? "— No mission name —" : _missionName; missionDetailsLabel.Text = string.IsNullOrWhiteSpace(missionDetails) ? "— No mission details —" : missionDetails; _rocketInfo = new RestClient($"{ApiUrl}/rockets/{_launchesData[missionNumber].RocketId}").Get <RocketInfo>(new RestRequest("/")).Data; _launchpadInfo = JObject.Parse(new RestClient($"{ApiUrl}/launchpads/{_launchesData[missionNumber].LaunchpadId}") .Get(new RestRequest("/")).Content).ToObject <LaunchpadInfo>(); vehicleStatusLabel.Text = vehiclesStatus == true ? $"{_rocketInfo.Name} will be launched from {_launchpadInfo.Name}" : $"{_rocketInfo.Name} launched from {_launchpadInfo.Name}"; switch (launchStatus) { case true: missionStatusLabel.ForeColor = Color.Green; missionStatusLabel.Text = "SUCCESSFUL"; break; case false: missionStatusLabel.ForeColor = Color.Red; missionStatusLabel.Text = "FAILED"; break; default: missionStatusLabel.ForeColor = Color.Blue; missionStatusLabel.Text = $"Will be launched in {_launchesData[missionNumber].DateLocal}"; break; } EnableControls(true); }