private async void SelectedInstanceChanged(object sender, PropertyChangedEventArgs e)
        {
            if (e.PropertyName == "SelectedInstance")
            {
                this.viewModel.SelectedJob = null;
                var jobs = await this.GetJobsFromInstance(this.viewModel.SelectedInstance.Url);

                jobs.Insert(0, new AllJobsModel());

                this.viewModel.Jobs = jobs;

                if (this.preselectedJob != null)
                {
                    this.viewModel.SelectedJob = jobs.SingleOrDefault(x => x.Url == this.preselectedJob.Url);

                    this.preselectedJob = null;
                }
            }
        }
 public string GetTargetPath(JobModel job, BuildModel build, string path)
 {
     return Path.Combine(Path.GetTempPath(), "VS_JenkinsBuilds", job.Name, build.Number.Value.ToString(), path);
 }
 public void SelectJob(JobModel jobModel)
 {
     this.viewModel.SelectedInstance = this.viewModel.Instances.SingleOrDefault(x => new Uri(x.Url) == jobModel.ServerUrl);
     this.preselectedJob = jobModel;
 }
        private async Task<List<BuildModel>> SearchBuildsInJob(JobModel jobModel)
        {
            var job = await this.client.GetResourceAsync<Job>(this.viewModel.SelectedJob.Url, JobModel.WithBuildsTree);

            return job.Builds.Select(x => new BuildModel().LoadFrom(x)).OrderByDescending(x => x.Timestamp).ToList();
        }