/// <summary> /// Submitting current interaction dialog /// Обработчик подтверждения /// </summary> protected override async void OnSubmitting() { this.ResultedDeviceModel = new DeviceModel { Description = this.Description, Name = this.DeviceName, TcpAddress = this.TcpIpAddress, TcpPort = int.Parse(this.TcpIpPort), StarterDescriptions = StarterDescriptions.ToList(), DeviceFactoryTypeName = DeviceType.ToString(), DriverFactoryTypeName = "TCP_MB", TransformKoefA = int.Parse(TransformKoefA), TransformKoefB = int.Parse(TransformKoefB), TransformKoefC = int.Parse(TransformKoefC), ChannelNumberOfStarter1 = StarterDescriptionsViewModels[0].ChannelNumberOfStarter.ToString(), ChannelNumberOfStarter2 = StarterDescriptionsViewModels[1].ChannelNumberOfStarter.ToString(), ChannelNumberOfStarter3 = StarterDescriptionsViewModels[2].ChannelNumberOfStarter.ToString(), }; if (IsFiderOrganization) { ResultedDeviceModel.CustomFidersOnDevice.AddRange(FiderDefinitionsViewModels.Select((model => model.FiderDefinitionModel))); } if (IsSignalsEnabled) { ResultedDeviceModel.CustomSignalsOnDevice.AddRange(SignalDefinitionsViewModels.Select((model => model.Model))); } if (IsIndicatorsEnabled) { ResultedDeviceModel.CustomIndicatorsOnDevice.AddRange(IndicatorDefinitionsViewModels.Select((model => model.Model))); } if (IsCascadeEnabled) { ResultedDeviceModel.CascadeIndicatorsOnDevice.AddRange(CascadeDefinitionsViewModels.Select((model => model.Model))); } if ( SelectedAnalogMeter.Equals(AnalogMetersEnum.Нет.ToString())) { ResultedDeviceModel.AnalogMeterTypeName = DeviceStringKeys.DeviceAnalogMetersTagKeys.NO; } if ( SelectedAnalogMeter.Equals(AnalogMetersEnum.Энергомера.ToString())) { ResultedDeviceModel.AnalogMeterTypeName = DeviceStringKeys.DeviceAnalogMetersTagKeys.ENERGOMERA_METER_TYPE; } if ( SelectedAnalogMeter.Equals(AnalogMetersEnum.МСА961.ToString())) { ResultedDeviceModel.AnalogMeterTypeName = DeviceStringKeys.DeviceAnalogMetersTagKeys.MSA_METER_TYPE; } base.OnSubmitting(); }
private void OnAddSignalExecute() { SignalDefinitionsViewModels.Add(_signalViewModelFactory.CreateSignalDefinitionsViewModel(_customSignalCreator.Invoke())); }
/// <summary> /// Sets a deviceViewModel for editing /// Установка устройства для редактирования /// </summary> /// <param name="deviceModel">Device for editing.</param> public async void SetEditingContext(DeviceModel deviceModel, IEnumerable <string> deviceNamesExisting) { _deviceNamesExisting = deviceNamesExisting.ToList(); _deviceNamesExisting.Remove(deviceModel.Name); _existingIps = (await _driversService.GetAllDriversAsync()).Select((driver => driver.CreateMomento().State.GetTcpAddress())).ToList(); _existingIps.Remove(deviceModel.TcpAddress); if (deviceModel == null) { throw new NullReferenceException("Editing deviceViewModel don't be a null"); } DeviceType = deviceModel.DeviceFactoryTypeName; this.DeviceName = deviceModel.Name; this.Description = deviceModel.Description; this.TcpIpAddress = deviceModel.TcpAddress; this.TcpIpPort = deviceModel.TcpPort.ToString(); this.TransformKoefA = deviceModel.TransformKoefA.ToString(); this.TransformKoefB = deviceModel.TransformKoefB.ToString(); this.TransformKoefC = deviceModel.TransformKoefC.ToString(); if (!string.IsNullOrEmpty(deviceModel.AnalogMeterTypeName)) { if (deviceModel.AnalogMeterTypeName.Equals(DeviceStringKeys.DeviceAnalogMetersTagKeys.NO)) { SelectedAnalogMeter = AnalogMetersEnum.Нет.ToString(); } if (deviceModel.AnalogMeterTypeName.Equals(DeviceStringKeys.DeviceAnalogMetersTagKeys.ENERGOMERA_METER_TYPE)) { SelectedAnalogMeter = AnalogMetersEnum.Энергомера.ToString(); } if (deviceModel.AnalogMeterTypeName.Equals(DeviceStringKeys.DeviceAnalogMetersTagKeys.MSA_METER_TYPE)) { SelectedAnalogMeter = AnalogMetersEnum.МСА961.ToString(); } } if (deviceModel.CustomFidersOnDevice.Count != 0) { IsFiderOrganization = true; deviceModel.CustomFidersOnDevice.ForEach((fider => { FiderDefinitionsViewModels.Add(_fiderViewModelFactory.CreateFiderDefinitionsViewModel(fider)); })); } if (deviceModel.CustomIndicatorsOnDevice?.Count != 0) { IsIndicatorsEnabled = true; deviceModel.CustomIndicatorsOnDevice.ForEach((ind => { IndicatorDefinitionsViewModels.Add(_indicatorViewModelFactory.CreateIndicatorDefinitionsViewModel(ind)); })); } if (deviceModel.CustomSignalsOnDevice?.Count != 0) { IsSignalsEnabled = true; deviceModel.CustomSignalsOnDevice.ForEach((signal => { SignalDefinitionsViewModels.Add(_signalViewModelFactory.CreateSignalDefinitionsViewModel(signal)); })); } if (deviceModel.CascadeIndicatorsOnDevice.Count != 0) { IsCascadeEnabled = true; deviceModel.CascadeIndicatorsOnDevice.ForEach((cascade => { CascadeDefinitionsViewModels.Add(_cascadeViewModelFactory.CreateCascadeDefinitionsViewModel(cascade)); })); } StarterDescriptionsViewModels.Clear(); int index = 1; for (int i = 1; i <= 3; i++) { if (deviceModel.StarterDescriptions.Count > i - 1) { StarterDescriptionsViewModels.Add(new StarterDescriptionViewModel() { Description = deviceModel.StarterDescriptions[i - 1], IndexAndType = "Описание пускателя" + index }); index++; } else { StarterDescriptionsViewModels.Add(new StarterDescriptionViewModel() { Description = String.Empty, IndexAndType = "Описание пускателя" + index }); index++; } } StarterDescriptionsViewModels[0].SetChannelNumberOfStarter(uint.Parse(deviceModel.ChannelNumberOfStarter1)); StarterDescriptionsViewModels[1].SetChannelNumberOfStarter(uint.Parse(deviceModel.ChannelNumberOfStarter2)); StarterDescriptionsViewModels[2].SetChannelNumberOfStarter(uint.Parse(deviceModel.ChannelNumberOfStarter3)); _isEditing = true; OkButtonTitle = "Сохранить"; ViewTitle = "Редактирование виртуального устройства"; }
private void OnDeleteSignalExecute(object obj) { SignalDefinitionsViewModels.Remove(obj as ISignalDefinitionsViewModel); }