Example #1
0
        public IDevice Create()
        {
            IDevice newDevice = _serializerService.DeserializeFromFile <IDevice>(DeviceDescriptionFilePath);

            newDevice.DeviceLogger = _deviceLoggerGettingFunc();
            _logService.AddLogger(newDevice.DeviceLogger, newDevice.Name);
            return(newDevice);
        }
Example #2
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);
                }
            }
        }
Example #3
0
        public async Task LoadProject(string path)
        {
            try
            {
                var deserialized = _serializerService.DeserializeFromFile <IUniconProject>(path);
                _uniconProject.ConnectableItems = deserialized.ConnectableItems;
                _uniconProject.LayoutString     = deserialized.LayoutString;
                _uniconProject.ProjectPath      = Path.GetDirectoryName(path);
                _uniconProject.Name             = Path.GetFileNameWithoutExtension(path);
                _devicesContainerService.Refresh();
                foreach (IConnectable connectableItem in _uniconProject.ConnectableItems)
                {
                    if (connectableItem.DeviceConnection != null)
                    {
                        var res = await _devicesContainerService.ConnectDeviceAsync(connectableItem as IDevice,
                                                                                    connectableItem.DeviceConnection);

                        if (!res.IsSuccess)
                        {
                            await _devicesContainerService.ConnectDeviceAsync(connectableItem as IDevice,
                                                                              _container.Resolve <IDeviceConnectionFactory>(ApplicationGlobalNames
                                                                                                                            .OFFLINE_CONNECTION_FACTORY_NAME).CreateDeviceConnection());
                        }

                        if (!_devicesContainerService.ConnectableItems.Contains(connectableItem as IDevice))
                        {
                            _devicesContainerService.AddConnectableItem(connectableItem as IDevice);
                        }
                    }
                }

                string message = string.Empty;
                message += _localizerService.GetLocalizedString(ServicesKeys.PROJECT_OPENED);
                message += " " + _uniconProject.ProjectPath + "\\" + _uniconProject.Name + ".uniproj";

                _logService.LogMessage(message);
                _applicationSettingsService.AddRecentProject(path);
            }
            catch (Exception ex)
            {
                _logService.LogMessage(ex.Message);
            }
        }
Example #4
0
 public ComConnectionManager()
 {
     _comPortConfigurationFactory    = StaticContainer.Container.Resolve <IComPortConfigurationFactory>();
     _serializerService              = StaticContainer.Container.Resolve <ISerializerService>();
     ComPortConfigurationsDictionary = new Dictionary <string, IComPortConfiguration>();
     if (File.Exists(StringKeys.COMPORT_CONFIGURATION_SETTINGS + ".json"))
     {
         try
         {
             ComPortConfigurationsDictionary =
                 _serializerService.DeserializeFromFile <Dictionary <string, IComPortConfiguration> >(
                     StringKeys.COMPORT_CONFIGURATION_SETTINGS + ".json");
         }
         catch (Exception e)
         {
             Console.WriteLine(e);
             throw new SerializationException();
         }
     }
 }
        private void LoadResources()
        {
            OpenFileDialog dialog = new OpenFileDialog
            {
                Multiselect     = false,
                Filter          = $"Shared Resources (*{EXTENSION})|*{EXTENSION}",
                CheckFileExists = true
            };

            if (dialog.ShowDialog() == true)
            {
                var resourcesFromFile = _serializerService.DeserializeFromFile <List <INameable> >(dialog.FileName);
                foreach (var resource in resourcesFromFile)
                {
                    if (_deviceSharedResources.SharedResources.All(nameable => nameable.Name != resource.Name))
                    {
                        _deviceSharedResources.SharedResources.Add(resource);
                    }
                }

                UpdateResourcesViewModelCollection();
            }
        }