Esempio n. 1
0
        public ResponseConfigurationDialogKMTronicDeviceConfigurationViewModel(ObservableCollection <ResponseObjectModel> _responseCollection, ResponseObjectModel _responseObject)
        {
            if (_responseObject != null)
            {
                responseObjectModel = _responseObject;

                UserName = (responseObjectModel.ResponseObject as KMTronicModel).UserName;
                Password = (responseObjectModel.ResponseObject as KMTronicModel).Password;

                HostName   = (responseObjectModel.ResponseObject as KMTronicModel).HostName;
                PortNumber = (responseObjectModel.ResponseObject as KMTronicModel).PortNumber.ToString();

                RelayContactCollection = (responseObjectModel.ResponseObject as KMTronicModel).RelayContactCollection;

                SelectedDevice = (responseObjectModel.ResponseObject as KMTronicModel).DeviceType;
            }
            else
            {
                HostName   = "localhost";
                PortNumber = "80";

                UserName = "******";
                Password = "******";

                SelectedDevice = KMTronicDeviceType.W2CR;

                kmTronicDevice = new KMTronicModel(SelectedDevice);

                responseObjectModel = new ResponseObjectModel(kmTronicDevice);

                RelayContactCollection = new ObservableCollection <RelayContact>();
            }

            resLoader = new ResourceLoader();

            _cmdDeleteEntry        = new RelayCommand(null);
            _cmdAddNewRelayContact = new RelayCommand(AddRelayContact);

            rowContextMenuItems        = new ObservableCollection <MenuItem>();
            emptySpaceContextMenuItems = new ObservableCollection <MenuItem>();

            emptySpaceContextMenuItems.Add(new MenuItem()
            {
                Header  = resLoader.getResource("contextMenuItemAddNewRelayContact"),
                Command = _cmdAddNewRelayContact
            });

            rowContextMenuItems.Add(new MenuItem()
            {
                Header  = resLoader.getResource("contextMenuItemEditRelayContact"),
                Command = _cmdAddNewRelayContact
            });

            rowContextMenuItems.Add(new MenuItem()
            {
                Header  = resLoader.getResource("contextMenuItemDeleteSelectedItem"),
                Command = _cmdDeleteEntry
            });
            IsModal = true;
        }
Esempio n. 2
0
        private void OnNewAddOrEditBehaviorCommand()
        {
            switch (this.SelectedResponseType)
            {
            case "MessageTELEGRAM":

                this.Dialogs.Add(new ResponseConfigurationDialogTelegramMessageResponseViewModel(StaticEvents, ResponseCollection, SelectedDataGridItem)
                {
                    OnOk = (sender) =>
                    {
                        ResponseObjectModel.ResponseObject   = sender.ResponseObjectModel.ResponseObject;
                        ResponseObjectModel.HasConfiguration = sender.ResponseObjectModel.HasConfiguration;
                        //TODO: Check and Clean if abortion

                        sender.Close();
                    },

                    OnCancel = (sender) =>
                    {
                        sender.Close();
                    },

                    OnCloseRequest = (sender) => {
                        sender.Close();
                    }
                });
                break;

            case "MessageEMAIL":
                this.Dialogs.Add(new ResponseConfigurationDialogEMailMessageResponseViewModel(ResponseCollection, SelectedDataGridItem)
                {
                    OnOk = (sender) =>
                    {
                        try
                        {
                            if (sender.EMailCollection != null && sender.EMailCollection.Count > 0)
                            {
                                ResponseObjectModel.ResponseObject   = sender.ResponseObjectModel.ResponseObject;
                                ResponseObjectModel.HasConfiguration = sender.ResponseObjectModel.HasConfiguration;
                            }
                            sender.Close();
                        }

                        catch (Exception e)
                        {
                            if (e.GetType() == typeof(NullReferenceException))
                            {
                                if (new MessageBoxViewModel {
                                    Caption = "No Mails attached",
                                    Message = "Are your sure to proceed without any attached mails",
                                    Buttons = MessageBoxButton.YesNo,
                                    Image = MessageBoxImage.Question
                                }
                                    .Show(this.Dialogs) == MessageBoxResult.Yes)
                                {
                                    this.Close();
                                }
                            }

                            else
                            {
                                if (new MessageBoxViewModel {
                                    Caption = "Error",
                                    Message = string.Format("{0}, {1}", e.Message, e.InnerException == null ? "" : e.InnerException.Message),
                                    Buttons = MessageBoxButton.YesNo,
                                    Image = MessageBoxImage.Question
                                }
                                    .Show(this.Dialogs) == MessageBoxResult.Yes)
                                {
                                    this.Close();
                                }
                            }
                        }
                    },

                    OnCancel = (sender) =>
                    {
                        sender.Close();
                    },

                    OnCloseRequest = (sender) => {
                        sender.Close();
                    }
                });
                break;

            case "DeviceKNX":
                break;

            case "DeviceKMTronic":
                this.Dialogs.Add(new ResponseConfigurationDialogKMTronicDeviceConfigurationViewModel(ResponseCollection, SelectedDataGridItem)
                {
                    OnOk = (sender) =>
                    {
                        try
                        {
                            if (sender.RelayContactCollection != null && sender.RelayContactCollection.Count > 0)
                            {
                                KMTronicModel device          = new KMTronicModel(sender.SelectedDevice);
                                device.RelayContactCollection = sender.RelayContactCollection;
                                device.HostName   = sender.HostName;
                                device.PortNumber = Convert.ToInt32(sender.PortNumber);
                                device.UserName   = sender.UserName;
                                device.Password   = sender.Password;

                                ResponseObjectModel.ResponseObject = device;


                                ResponseObjectModel.HasConfiguration = true;
                            }
                            sender.Close();
                        }

                        catch (Exception e)
                        {
                            if (e.GetType() == typeof(NullReferenceException))
                            {
                                if (new MessageBoxViewModel {
                                    Caption = "No Mails attached",
                                    Message = "Are your sure to proceed without any attached mails",
                                    Buttons = MessageBoxButton.YesNo,
                                    Image = MessageBoxImage.Question
                                }
                                    .Show(this.Dialogs) == MessageBoxResult.Yes)
                                {
                                    this.Close();
                                }
                            }

                            else
                            {
                                if (new MessageBoxViewModel {
                                    Caption = "Error",
                                    Message = string.Format("{0}, {1}", e.Message, e.InnerException == null ? "" : e.InnerException.Message),
                                    Buttons = MessageBoxButton.YesNo,
                                    Image = MessageBoxImage.Question
                                }
                                    .Show(this.Dialogs) == MessageBoxResult.Yes)
                                {
                                    this.Close();
                                }
                            }
                        }
                    },

                    OnCancel = (sender) =>
                    {
                        sender.Close();
                    },

                    OnCloseRequest = (sender) => {
                        sender.Close();
                    }
                });
                break;
            }
        }