/// <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();
 }
Пример #2
0
        /// <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);
        }