private void AddRelayContact() { this.Dialogs.Add(new ResponseConfigurationDialogKMTronicDeviceWebRelayConfigurationDialogViewModel(SelectedRelayContact) { OnOk = (sender) => { if (sender.IsRelayNumberValidInteger && sender.IsTimeValidInteger) { if (SelectedRelayContact != null) { SelectedRelayContact.Behavior = sender.Behavior; SelectedRelayContact.RelayNumber = Convert.ToInt32(sender.RelayNumber); SelectedRelayContact.Time = Convert.ToInt32(sender.Time); } else { RelayContact rel = new RelayContact(); rel.Behavior = sender.Behavior; rel.RelayNumber = Convert.ToInt32(sender.RelayNumber); if (sender.Behavior == KMTronicRelayContactBehavior.RelayContactIsTimed) { rel.Time = Convert.ToInt32(sender.Time); } else { rel.Time = 0; } if ( !RelayContactCollection.Where(x => x.RelayNumber == Convert.ToInt32(sender.RelayNumber)).Any() && (SelectedDevice == KMTronicDeviceType.W2CR ? ((RelayContactCollection.Count < 2 ? true : false) && Convert.ToInt32(sender.RelayNumber) <= 2) : (RelayContactCollection.Count < 8 ? true : false) && Convert.ToInt32(sender.RelayNumber) <= 8) ) { RelayContactCollection.Add(rel); } else { } } RaisePropertyChanged("CollectionContainsElements"); RaisePropertyChanged("RelayContactCollection"); sender.Close(); } else { sender.Close(); } }, OnCancel = (sender) => { sender.Close(); }, OnCloseRequest = (sender) => { sender.Close(); } }); }
public ResponseConfigurationDialogKMTronicDeviceWebRelayConfigurationDialogViewModel(RelayContact _responseObject) { if (_responseObject != null) { Behavior = _responseObject.Behavior; Time = _responseObject.Time.ToString(); RelayNumber = _responseObject.RelayNumber.ToString(); } else { RelayNumber = "1"; Time = "0"; Behavior = KMTronicRelayContactBehavior.RelayContactIsStaticOn; } IsModal = true; }