Exemple #1
0
        private async void OnAddDeviceExecute(object obj)
        {
            IDeviceCreator deviceCreator = (obj as IDeviceDefinitionViewModel)?.Model as IDeviceCreator;

            if (deviceCreator == null)
            {
                return;
            }
            if (deviceCreator.AvailableConnection == null)
            {
                return;
            }
            _comConnectionManager.SetComPortConfigurationByName((deviceCreator.AvailableConnection as IModbusRtuConnection).ComPortConfiguration, (deviceCreator.AvailableConnection as IModbusRtuConnection).PortName);
            var device = deviceCreator.Create();

            device.DeviceSignature = device.Name;
            await _devicesContainerService.ConnectDeviceAsync(device, deviceCreator.AvailableConnection);

            if (!_devicesContainerService.ConnectableItems.Contains(device))
            {
                _devicesContainerService.AddConnectableItem(device);
            }
            //DeviceDefinitionViewModels.Remove(obj as IDeviceDefinitionViewModel);
            IsDevicesNotFound = false;
            (obj as IDeviceDefinitionViewModel).IsAddedToProject = true;
            await Task.Delay(300);

            _flyoutService.CloseFlyout();
        }
Exemple #2
0
        public void UpdateDeviceDefinition(string deviceName)
        {
            IDeviceCreator creatorFinded = Creators.FirstOrDefault((creator => creator.DeviceName == deviceName));

            if (creatorFinded == null)
            {
                return;
            }
            IDevice device = _deviceGettingFunc();

            device = _serializerService.DeserializeFromFile <IDevice>(creatorFinded.DeviceDescriptionFilePath);
            creatorFinded.ConnectionState = device.ConnectionState.Clone() as IConnectionState;
            device.Dispose();
        }
Exemple #3
0
        private void OnOpenDeviceFromFileExecute()
        {
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Multiselect     = false;
            ofd.Filter          = " JSON файл (*.json)|*.json" + "|Все файлы (*.*)|*.* ";
            ofd.CheckFileExists = true;
            if (ofd.ShowDialog() == true)
            {
                IDeviceCreator deviceCreator = _container.Resolve <IDeviceCreator>();
                deviceCreator.DeviceDescriptionFilePath = ofd.FileName;
                deviceCreator.DeviceName = ofd.SafeFileName.Replace(".json", "");
                IDeviceDefinitionViewModel deviceDefinition = _deviceDefinitionCreator();
                deviceDefinition.Model = deviceCreator;
                SelectedDevice         = deviceDefinition;
            }
        }
Exemple #4
0
        public void LoadDevicesDefinitions(string folderPath = ApplicationGlobalNames.DEFAULT_DEVICES_FOLDER_PATH)
        {
            if (!(Directory.Exists(folderPath)))
            {
                return;
            }
            string[] names = Directory.GetFiles(folderPath).Select((s => Path.GetFileName(s))).ToArray();
            Creators = new List <IDeviceCreator>();

            foreach (string name in names.Where(name => name.Contains("json")))
            {
                IDeviceCreator deviceCreator = _deviceCreatorGettingFunc();

                deviceCreator.DeviceDescriptionFilePath = Path.Combine(folderPath, name);

                IDevice device = _deviceGettingFunc();
                try
                {
                    device = _serializerService.DeserializeFromFile <IDevice>(deviceCreator.DeviceDescriptionFilePath);
                    deviceCreator.ConnectionState = device.ConnectionState.Clone() as IConnectionState;

                    deviceCreator.DeviceName = Path.GetFileNameWithoutExtension(name);

                    deviceCreator.DeviceMetaInfo = device.DeviceMetaInfo;

                    Creators.Add(deviceCreator);
                }
                catch
                {
                    var message =
                        _localizerService.GetLocalizedString(ApplicationGlobalNames.StatusMessages
                                                             .DEVICE_READING_ERROR);
                    _logService.LogMessage(message + " " + name);
                }
            }
        }
		/// <summary>
		///   設定歷史資料裝置建立者介面
		/// </summary>
		/// <param name="deviceCreator">歷史資料裝置建立者介面</param>
		public static void SetDeviceCreator(IDeviceCreator deviceCreator) {
			DataAdapter.SetDeviceCreator((deviceCreator == null) ? new HttpPostCreator() : deviceCreator);
		}
Exemple #6
0
 internal static void SetDeviceCreator(IDeviceCreator deviceCreator)
 {
     __cDeviceCreator = deviceCreator;
 }