Пример #1
0
        private void ReceiveBuild(BuildModel build)
        {
            if (Projects==null)
            {
                lock (_projectLoadLock)
                {
                    if (Projects == null)
                    {
                        var m = PollingMonitor as TeamCityBuildMonitor;

                        Projects = new ObservableCollection<BuildProjectModel>(m.GetAllBuildProjects());
                    }
                }
            }

            var ex = build.BuildType.Builds.Where(b => b.Id == build.Id).FirstOrDefault();

            if (ex == null)
            {
                build.BuildType.Builds.Add(build);
            }
            else
            {
                var reAdd = ex.IsRunning && !build.IsRunning;

                // update the one we've got...
                ex.CurrentStage = build.CurrentStage;
                ex.ElapsedRunTime = build.ElapsedRunTime;
                ex.EstimatedRunTime = build.EstimatedRunTime;
                ex.Finished = build.Finished;
                ex.History = build.History;
                ex.IsRunning = build.IsRunning;
                ex.Number = build.Number;
                ex.OutDated = build.OutDated;
                ex.PercentageComplete = build.PercentageComplete;
                ex.Personal = build.Personal;
                ex.Pinned = build.Pinned;
                ex.ProbablyHanging = build.ProbablyHanging;
                ex.Started = build.Started;
                ex.Status = build.Status;
                ex.StatusText = build.StatusText;

                if (reAdd)
                {
                    ex.BuildType.Builds.Remove(ex);
                    ex.BuildType.Builds.Add(ex);
                }
            }

             build.BuildType.RefreshLatest();
        }
Пример #2
0
 protected virtual void OnBuildUpdated(BuildModel build)
 {
     EventHandler<BuildEventArgs> eh = BuildUpdated;
     if (eh != null) eh(this, new BuildEventArgs(build));
 }
Пример #3
0
 public BuildEventArgs(BuildModel build)
 {
     Build = build;
 }