示例#1
0
        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();
                }
            });
        }
示例#2
0
        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;
        }