示例#1
0
 public ComPortInterrogationViewModel(Func <IDeviceDefinitionViewModel> deviceDefinitionCreator, IDevicesContainerService devicesContainerService,
                                      IModbusRtuConnection modbusRtuConnection, IComConnectionManager comConnectionManager,
                                      IConnectionService connectionService, IFlyoutService flyoutService)
 {
     _deviceDefinitionCreator   = deviceDefinitionCreator;
     _devicesContainerService   = devicesContainerService;
     _modbusRtuConnection       = modbusRtuConnection;
     _comConnectionManager      = comConnectionManager;
     this._connectionService    = connectionService;
     _flyoutService             = flyoutService;
     InterrogateCommand         = new RelayCommand(OnInterrogateExecute);
     DeviceDefinitionViewModels = new ObservableCollection <IDeviceDefinitionViewModel>();
     SlaveId = 1;
     IsInterrogationNotInProcess = true;
     AddDeviceCommand            = new RelayCommand <object>(OnAddDeviceExecute, (b) =>
     {
         if (b is IDeviceDefinitionViewModel deviceDefinitionViewModel)
         {
             if (deviceDefinitionViewModel.IsAddedToProject)
             {
                 return(false);
             }
         }
         return(IsInterrogationNotInProcess);
     });
     StopInterrogationCommand = new RelayCommand(OnStopInterrogationExecute, (() => !_isInterrogationStopped));
 }
示例#2
0
        public DeviceEditingViewModel(Func <IDeviceDefinitionViewModel> deviceDefinitionCreator,
                                      IDevicesContainerService devicesContainerService, ITypesContainer container,
                                      IDialogCoordinator dialogCoordinator, ILocalizerService localizerService, IFlyoutService flyoutService)
        {
            DeviceDefinitions = new ObservableCollection <IDeviceDefinitionViewModel>();
            DeviceConnections = new ObservableCollection <IViewModel>();
            //подгрузка всех файлов с определениями (вынести в асинхронный метод)

            _deviceDefinitionCreator = deviceDefinitionCreator;
            _devicesContainerService = devicesContainerService;
            _container         = container;
            _dialogCoordinator = dialogCoordinator;
            _localizerService  = localizerService;
            _flyoutService     = flyoutService;

            SubmitCommand             = new RelayCommand(OnSubmitCommand, () => _canSubmitCommandExecute);
            OpenDeviceFromFileCommand = new RelayCommand(OnOpenDeviceFromFileExecute);

            //подгрузка всех зарегистрированных фабрик разных видов подключений
            IEnumerable <IDeviceConnectionFactory> deviceConnectionFactories =
                _container.ResolveAll <IDeviceConnectionFactory>();

            foreach (IDeviceConnectionFactory deviceConnectionFactory in deviceConnectionFactories)
            {
                DeviceConnections.Add(deviceConnectionFactory.CreateDeviceConnectionViewModel());
            }
        }
示例#3
0
        public ShellViewModel
            (ILogService logService,
            ILogServiceViewModel logServiceViewModel,
            IDevicesContainerService devicesContainerService,
            IDialogCoordinator dialogCoordinator,
            IApplicationGlobalCommands applicationGlobalCommands,
            IRegionManager regionManager,
            ILocalizerService localizerService,
            IDeviceViewModelFactory deviceViewModelFactory,
            IFragmentPaneViewModelFactory fragmentPaneViewModelFactory,
            IProjectBrowserViewModel projectBrowserViewModel,
            IUniconProjectService uniconProjectService, ToolBarViewModel toolBarViewModel,
            RecentProjectsViewModelFactory recentProjectsViewModelFactory,
            IMainMenuService mainMenuService,
            DynamicMainMenuViewModel dynamicMainMenuViewModel,
            IFlyoutService flyoutService
            , IGlobalEventManager globalEventManger)
        {
            LogServiceViewModel     = logServiceViewModel;
            ProjectBrowserViewModel = projectBrowserViewModel;
            LogService = logService;
            _devicesContainerService = devicesContainerService;
            _devicesContainerService.ConnectableItemChanged += OnDeviceChanged;
            _dialogCoordinator            = dialogCoordinator;
            _applicationGlobalCommands    = applicationGlobalCommands;
            _regionManager                = regionManager;
            _localizerService             = localizerService;
            _deviceViewModelFactory       = deviceViewModelFactory;
            _fragmentPaneViewModelFactory = fragmentPaneViewModelFactory;
            _uniconProjectService         = uniconProjectService;

            ExitCommand = new RelayCommand(OnExit);
            NavigateToDeviceEditorCommand = new RelayCommand(OnNavigateToDeviceEditor);
            NavigateToDeviceAddingCommand = new RelayCommand(OnNavigateToDeviceAddingExecute);
            NavigateToWebSyncViewCommand  = new RelayCommand(OnNavigateToWebSyncViewExecute);
            AddNewFragmentCommand         = new RelayCommand <IFragmentViewModel>(OnExecuteAddNewFragment);
            _fragmentsOpenedCollection    = new ObservableCollection <IFragmentPaneViewModel>();
            OpenOscillogramCommand        = new RelayCommand(OnOpenOscillogramExecute);
            OnClosingCommand  = new RelayCommand <CancelEventArgs>(OnExecuteClosing);
            AnchorableWindows = new ObservableCollection <IAnchorableWindow>
            {
                ProjectBrowserViewModel, LogServiceViewModel
            };
            ToolBarViewModel                = toolBarViewModel;
            DynamicMainMenuViewModel        = dynamicMainMenuViewModel;
            _recentProjectsViewModelFactory = recentProjectsViewModelFactory;
            _mainMenuService                = mainMenuService;
            StaticOptionsButtonsHelper.InitializeStaticButtons(this);
            NewProjectCommand        = new RelayCommand(OnNewProjectExecute);
            SaveProjectCommand       = new RelayCommand(OnSaveProjectExecute);
            SaveAsProjectCommand     = new RelayCommand(OnSaveAsProjectExecute);
            OpenProjectCommand       = new RelayCommand(OnOpenProjectExecute);
            OpenRecentProjectCommand = new RelayCommand <object>(OnOpenRecentProjectExecute);

            OnLoadedCommand = new RelayCommand(OnLoadedExecute);
            _uniconProjectService.SetDialogContext(this);
            _applicationGlobalCommands.SetGlobalDialogContext(this);
        }
示例#4
0
        protected override void InitializeModules()
        {
            base.InitializeModules();

            BootsrapperMessageAction?.Invoke("Initializing Devices");
            IDevicesContainerService devicesContainerService = StaticContainer.Container.Resolve <IDevicesContainerService>();

            devicesContainerService.LoadDevicesDefinitions();
        }
示例#5
0
 public WebSynchronizationViewModel(IApplicationSettingsService applicationSettingsService,
                                    IDevicesContainerService devicesContainerService)
 {
     _applicationSettingsService = applicationSettingsService;
     _devicesContainerService    = devicesContainerService;
     Definitions   = new ObservableCollection <DefinitionInfoViewModel>();
     UseDefaultUrl = true;
     //RefreshAll = new RelayCommand();
     ToggleSettingsPopup = new RelayCommand(OnTogglePopup);
     RefreshAll();
 }
示例#6
0
 public UniconProjectService(IUniconProject uniconProject, ILocalizerService localizerService,
                             Func <IDialogCoordinator> dialogCoordinator, IApplicationSettingsService applicationSettingsService,
                             IDevicesContainerService devicesContainerService, ITypesContainer container, ILogService logService,
                             ISerializerService serializerService
                             )
 {
     _uniconProject              = uniconProject;
     _localizerService           = localizerService;
     _dialogCoordinator          = dialogCoordinator;
     _applicationSettingsService = applicationSettingsService;
     _devicesContainerService    = devicesContainerService;
     _container         = container;
     _logService        = logService;
     _serializerService = serializerService;
 }
示例#7
0
 public DeviceViewModel(IDevicesContainerService devicesContainerService,
                        IConnectionStateViewModel connectionStateViewModel,
                        IDeviceLoggerViewModel deviceLoggerViewModel, IApplicationGlobalCommands applicationGlobalCommands,
                        ILoadAllService loadAllService, ISerializerService serializerService)
 {
     _devicesContainerService           = devicesContainerService;
     _applicationGlobalCommands         = applicationGlobalCommands;
     _loadAllService                    = loadAllService;
     _serializerService                 = serializerService;
     _fragmentViewModels                = new ObservableCollection <IFragmentViewModel>();
     NavigateToDeviceEditingCommand     = new RelayCommand(OnNavigateToDeviceEditing);
     DeleteSelectedDeviceCommand        = new RelayCommand(OnDeleteSelectedDevice);
     ConnectionStateViewModel           = connectionStateViewModel;
     DeviceLoggerViewModel              = deviceLoggerViewModel;
     NavigateToLoadAllFromDeviceCommand = new RelayCommand(OnNavigateToLoadAllWindow);
 }
示例#8
0
 public DeviceEditorViewModel(ILocalizerService localizerService, IDialogCoordinator dialogCoordinator,
                              IResultingDeviceViewModel resultingDeviceViewModel, IDevicesContainerService devicesContainerService,
                              IApplicationGlobalCommands applicationGlobalCommands,
                              IDeviceEditorViewModelValidator deviceEditorViewModelValidator)
 {
     _localizerService            = localizerService;
     _dialogCoordinator           = dialogCoordinator;
     _resultingDeviceViewModel    = resultingDeviceViewModel;
     _devicesContainerService     = devicesContainerService;
     _applicationGlobalCommands   = applicationGlobalCommands;
     LoadExistingDevice           = new RelayCommand(OnLoadExistingDevice);
     CreateDeviceCommand          = new RelayCommand(OnCreateDeviceExecute);
     SaveInFileCommand            = new RelayCommand(OnSaveInFileExecute);
     OpenSharedResourcesCommand   = new RelayCommand(OnOpenSharedResourcesExecute);
     DeleteFragmentCommand        = new RelayCommand <object>(OnDeleteFragmentExecute);
     OpenAddFragmentWindowCommand = new RelayCommand(OnOpenAddFragmentWindowCommand);
     _currentFolder =
         Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), DEFAULT_FOLDER);
     DeviceEditorValidationViewModel = new DeviceEditorValidationViewModel(() =>
                                                                           deviceEditorViewModelValidator.ValidateDeviceEditor(ResultingDeviceViewModel.FragmentEditorViewModels
                                                                                                                               .ToList()));
     _applicationGlobalCommands.SetGlobalDialogContext(this);
 }