Ejemplo n.º 1
0
 private void InitAddSerialPortCommand()
 {
     AddSerialPortCommand = new RelayCommand(() =>
     {
         var serialPortSettingsInfo = new SerialPortSettingsInfo(GetAllUsedSerialPortInfo());
         var projectorSettingsInfo  = new ProjectorSettingsInfo();
         var navFrameInfos          = new List <NavFrameInfo>
         {
             new NavFrameInfo(serialPortSettingsInfo),
             new NavFrameInfo(projectorSettingsInfo)
         };
         var nav = new NavFrameWindow(navFrameInfos, "添加串口信息");
         if (nav.ShowDialog() == true)
         {
             var projectorSerialPortInfo = ProjectorSerialPortInfos.FirstOrDefault(s => s.PortName == serialPortSettingsInfo.Current.Item1.PortName);
             var existsPortName          = projectorSerialPortInfo != null;
             if (!existsPortName)
             {
                 AddNewSerialPortInfoWithSave(serialPortSettingsInfo, projectorSettingsInfo);
             }
             else
             {
                 projectorSerialPortInfo.AddProjectorDeviceInfoWithSave(projectorSettingsInfo.Current);
             }
         }
     });
 }
Ejemplo n.º 2
0
        private void AddNewSerialPortInfoWithSave(SerialPortSettingsInfo serialPortSettingsInfo, ProjectorSettingsInfo projectorSettingsInfo)
        {
            var projectorSerialPortInfo = new ProjectorSerialPortInfo(serialPortSettingsInfo.Current.Item1);

            ProjectorSerialPortInfos.Add(projectorSerialPortInfo);
            var deviceSettings = ProjectorDeviceSettings.GetProjectorDeviceSettings();

            deviceSettings.SerialPortSettings.Add(new ProjectorSerialPortSettings(serialPortSettingsInfo.Current.Item1));
            if (ProjectorDeviceService.SaveSettings())
            {
                projectorSerialPortInfo.AddProjectorDeviceInfoWithSave(projectorSettingsInfo.Current);
            }
        }