Exemple #1
0
        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();
        }
Exemple #2
0
        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);
        }