/// <summary> /// Initializes a new instance of the <see cref="IterationTrackParameterViewModel{TThing, TValueSet}"/> class. /// The constructor /// </summary> /// <param name="session">The <see cref="ISession"/> </param> /// <param name="iteration">The <see cref="Iteration"/></param> /// <param name="iterationTrackParameter">The <see cref="IterationTrackParameter"/> instance used for this widget</param> public IterationTrackParameterViewModel(ISession session, Iteration iteration, IterationTrackParameter iterationTrackParameter) { this.lineSeriesCollection = new ReactiveList <LineSeries>(); this.OnDeleteCommand = ReactiveCommand.Create(); this.OnToggleChartVisibilityCommand = ReactiveCommand.Create(); this.OnToggleChartVisibilityCommand.Subscribe(_ => this.ToggleChartVisibility()); this.OnRefreshCommand = ReactiveCommand.Create(); this.OnRefreshCommand.Subscribe(async _ => await this.RefreshData()); this.OnCopyDataCommand = ReactiveCommand.Create(); this.OnCopyDataCommand.Subscribe(_ => this.CopyTextToClipboard()); this.Session = session; this.iteration = iteration; this.iterationTrackParameter = iterationTrackParameter; this.BlockVisible = Visibility.Visible; this.ChartVisible = Visibility.Collapsed; this.ModelCode = this.iterationTrackParameter.ModelCode; this.Title = this.iterationTrackParameter.ControlTitle; this.Unit = this.iterationTrackParameter.UnitSymbol; this.AxisXTitle = "Revisions"; this.AxisYTitle = this.Unit; this.Disposables.Add(CDPMessageBus.Current.Listen <ObjectChangedEvent>(iterationTrackParameter) .Where(objectChange => objectChange.EventKind == EventKind.Updated) .ObserveOn(RxApp.MainThreadScheduler) .Subscribe(async _ => await this.RefreshData())); CDPMessageBus.Current.Listen <ObjectChangedEvent>(this.iterationTrackParameter.ParameterOrOverride) .Where(objectChange => objectChange.EventKind == EventKind.Removed) .ObserveOn(RxApp.MainThreadScheduler) .Subscribe(async _ => await this.OnDeleteCommand.ExecuteAsyncTask()); this.OnRefreshCommand.Execute(null); }
/// <summary> /// Initializes a new instance of the <see cref="IterationTrackParameterDetailViewModel"/> class. /// </summary> /// <param name="iterationTrackParameter"> /// The iteration track parameter /// </param> public IterationTrackParameterDetailViewModel(IterationTrackParameter iterationTrackParameter) { this.iterationTrackParameter = iterationTrackParameter; this.Title = iterationTrackParameter.ControlTitle; }