/// <summary> /// Initializes a new <see cref="DstDataSourceViewModel"/> /// </summary> /// <param name="navigationService">The <see cref="INavigationService"/></param> /// <param name="dstController">The <see cref="IDstController"/></param> /// <param name="dstBrowserHeader">The <see cref="IHubBrowserHeaderViewModel"/></param> /// <param name="dstVariablesViewModel">The <see cref="IDstVariablesControlViewModel"/></param> /// <param name="hubController">The <see cref="IHubController"/></param> public DstDataSourceViewModel(INavigationService navigationService, IDstController dstController, IDstBrowserHeaderViewModel dstBrowserHeader, IDstVariablesControlViewModel dstVariablesViewModel, IHubController hubController) : base(navigationService) { this.dstController = dstController; this.hubController = hubController; this.DstVariablesViewModel = dstVariablesViewModel; this.DstBrowserHeader = dstBrowserHeader; this.InitializeCommands(); }
/// <summary> /// Initializes a new <see cref="MappingViewModel"/> /// </summary> /// <param name="dstController">The <see cref="IDstController"/></param> /// <param name="hubController">The <see cref="IHubController"/>"/></param> /// <param name="dstVariablesControlViewModel">The <see cref="IDstVariablesControlViewModel"/></param> public MappingViewModel(IDstController dstController, IHubController hubController, IDstVariablesControlViewModel dstVariablesControlViewModel) { this.dstController = dstController; this.hubController = hubController; this.dstVariablesControlViewModel = dstVariablesControlViewModel; this.dstController.DstMapResult.ItemsAdded.Subscribe(this.UpdateMappedThings); this.dstController.DstMapResult.IsEmptyChanged.Where(x => x).Subscribe(_ => this.MappingRows.RemoveAll(this.MappingRows .Where(x => x.Direction == MappingDirection.FromDstToHub).ToList())); this.dstController.HubMapResult.ItemsAdded.Subscribe(this.UpdateMappedThings); this.dstController.HubMapResult.IsEmptyChanged.Where(x => x).Subscribe(_ => this.MappingRows.RemoveAll(this.MappingRows .Where(x => x.Direction == MappingDirection.FromHubToDst).ToList())); this.WhenAnyValue(x => x.dstController.MappingDirection) .Subscribe(this.UpdateMappingRowsDirection); }