コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="_responseCollection"></param>
        /// <param name="_selectedItem"></param>
        public ResponseConfigurationDialogEMailMessageResponseViewModel(ObservableCollection <ResponseObjectModel> _responseCollection, ResponseObjectModel _selectedItem)
        {
            IsModal = true;

            if (_selectedItem != null)
            {
                ResponseObjectModel = _selectedItem;
                FromAddress         = (_selectedItem.ResponseObject as EMailResponseObjectModel).FromAddress;
                ToAddress           = (_selectedItem.ResponseObject as EMailResponseObjectModel).ToAddress;
                Subject             = (_selectedItem.ResponseObject as EMailResponseObjectModel).Subject;

                emailObject = (_selectedItem.ResponseObject as EMailResponseObjectModel);

                if (
                    !string.IsNullOrEmpty(emailObject.SMTPServerName) &&
                    emailObject.PortNumber > 0 &&
                    (emailObject.UseDefaultCredentials || !string.IsNullOrWhiteSpace(emailObject.SMTPCredentials.UserName)))
                {
                    hasSMTPConfig = true;
                }
            }
            else
            {
                hasSMTPConfig = false;

                emailObject         = new EMailResponseObjectModel();
                ResponseObjectModel = new ResponseObjectModel(emailObject);
            }
        }
コード例 #2
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;
        }
コード例 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="_responseCollection"></param>
        /// <param name="_responseObject"></param>
        public ScheduleConfigurationDialogViewModel(ObservableCollection <ResponseObjectModel> _responseCollection, ResponseObjectModel _responseObject)
        {
            if (_responseObject != null && _responseObject.Scheduler != null && _responseObject.Scheduler.Schedule != null && _responseObject.Scheduler.Schedule.Count > 0)
            {
                responseObject     = _responseObject;
                currentPeriod      = _responseObject.Scheduler.Schedule[0];
                ScheduleCollection = _responseObject.Scheduler.Schedule;
                SelectedRepeatType = _responseObject.Scheduler.Schedule[0].RepeatType;
            }

            else
            {
                responseObject     = _responseObject;
                currentPeriod      = new Period(DateTime.Now, DateTime.Now.Add(new TimeSpan(1, 0, 0)));
                ScheduleCollection = new ObservableCollection <Period>();
                SelectedRepeatType = ScheduleRepeatType.ScheduleRepeatNone;
            }

            StartTime = string.Format("{0:HH\\:mm\\:ss}", currentPeriod.Begin);
            EndTime   = string.Format("{0:HH\\:mm\\:ss}", currentPeriod.End);

            BeginDate = currentPeriod.Begin;
            EndDate   = currentPeriod.End;

            IsModal = true;
        }
コード例 #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="_staticEvents"></param>
        /// <param name="_responseCollection"></param>
        /// <param name="_responseObjectModel"></param>
        public ResponseConfigurationDialogTelegramMessageResponseViewModel(ObservableCollection <EventObjectModel> _staticEvents, ObservableCollection <ResponseObjectModel> _responseCollection, ResponseObjectModel _responseObjectModel)
        {
            resLoader = new ResourceLoader();

            ResponseObjectModel = _responseObjectModel;
            responseCollection  = _responseCollection;

            StatusMessage = string.Format("Not Connected");

            if (ResponseObjectModel != null && ResponseObjectModel.ResponseObject != null)
            {
                if (ResponseObjectModel.ResponseObject is TelegramMessageObjectModel)
                {
                    TelegramMessageObject = ResponseObjectModel.ResponseObject as TelegramMessageObjectModel;

                    if (TelegramMessageObject.Bot2Use.TelegramUsers.Where(x => x.UserStatus == TelegramUserStatus.UserIsAdmin).Select(x => x.UserStatus == TelegramUserStatus.UserIsAdmin).Single())
                    {
                        StatusMessage = string.Format("Online with ChatID: {0}", TelegramMessageObject.Bot2Use.TelegramUsers.Where(x => x.UserStatus == TelegramUserStatus.UserIsAdmin).Select(x => x.chatID).Single());

                        TelegramBotObjectCollection = new ObservableCollection <TelegramBotObjectModel>();
                        TelegramBotObjectCollection.Add(TelegramMessageObject.Bot2Use);
                        SelectedTelegramBotObject            = TelegramMessageObject.Bot2Use;
                        ResponseObjectModel.HasConfiguration = true;
                    }
                }
            }
            else
            {
                telegramBot           = new TelegramBotObjectModel();
                TelegramMessageObject = new TelegramMessageObjectModel(telegramBot);
                ResponseObjectModel   = new ResponseObjectModel(TelegramMessageObject);

                messagesWithBot = from q in responseCollection
                                  where !string.IsNullOrEmpty((q.ResponseObject as TelegramMessageObjectModel).Bot2Use.BotName)
                                  select(q.ResponseObject as TelegramMessageObjectModel);

                var query
                    = (from q in (from p in responseCollection where (p.ResponseObject is TelegramMessageObjectModel)select(p.ResponseObject as TelegramMessageObjectModel).Bot2Use).Select(p => p).Distinct() where q.BotName != null select q);

                foreach (EventObjectModel eventObject in _staticEvents)
                {
                    foreach (ResponseObjectModel responseObjectModel in from x in eventObject.ResponseCollection where x.ResponseObject is TelegramMessageObjectModel select x)
                    {
                        if (!query.Contains((responseObjectModel.ResponseObject as TelegramMessageObjectModel).Bot2Use))
                        {
                            TelegramBotObjectCollection = new ObservableCollection <TelegramBotObjectModel>(query as IEnumerable <TelegramBotObjectModel>);
                            TelegramBotObjectCollection.Add((responseObjectModel.ResponseObject as TelegramMessageObjectModel).Bot2Use);
                            SelectedTelegramBotObject = TelegramBotObjectCollection[0];
                        }
                    }
                }

                if (!query.Any() && TelegramBotObjectCollection == null)
                {
                    TelegramBotObjectCollection = new ObservableCollection <TelegramBotObjectModel>();
                }

                else
                {
                    if (TelegramBotObjectCollection == null)
                    {
                        TelegramBotObjectCollection = new ObservableCollection <TelegramBotObjectModel>(query as IEnumerable <TelegramBotObjectModel>);
                    }

                    if (this.TelegramBotObjectCollection.Count > 0 && SelectedTelegramBotObject == null)
                    {
                        SelectedTelegramBotObject = this.TelegramBotObjectCollection[0];
                    }

                    if (
                        SelectedTelegramBotObject != null &&
                        SelectedTelegramBotObject.TelegramUsers != null &&
                        SelectedTelegramBotObject.TelegramUsers.Count > 0 &&
                        SelectedTelegramBotObject.TelegramUsers.Where(x => x.UserStatus == TelegramUserStatus.UserIsAdmin).Select(x => x.UserStatus == TelegramUserStatus.UserIsAdmin).Single()
                        )
                    {
                        TelegramMessageObject.Bot2Use        = SelectedTelegramBotObject;
                        ResponseObjectModel.HasConfiguration = true;
                        StatusMessage = string.Format("Online with ChatID: {0}", TelegramMessageObject.Bot2Use.TelegramUsers.Where(x => x.UserStatus == TelegramUserStatus.UserIsAdmin).Select(x => x.chatID).Single());
                    }
                }

                //TelegramBotObjectCollection.Add((objectModel.ResponseObject as TelegramMessageObjectModel).Bot);
            }
        }
コード例 #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="_selectedEventObjectModel"></param>
        /// <param name="_staticEvents"></param>
        public ResponseEditorDialogViewModel(ObservableCollection <EventObjectModel> _staticEvents, EventObjectModel _selectedEventObjectModel)
        {
            //responseObjectModels = objModels;
            //ResponseTypeList  = new ObservableCollection<string>(Constants.responseTypeList);

            StaticEvents = _staticEvents;

            resLoader = new ResourceLoader();

            _cmdDeleteEntry     = new RelayCommand(OnNewDeleteSelectedItemCommand);
            _cmdAddEditResponse = new RelayCommand(OnNewAddOrEditBehaviorCommand);
            _cmdAddEditSchedule = new RelayCommand(OnNewAddOrEditScheduleCommand);

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

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


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


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

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

            if (_selectedEventObjectModel.ResponseCollection != null && _selectedEventObjectModel.ResponseCollection.Count > 0)
            {
                ResponseCollection   = _selectedEventObjectModel.ResponseCollection;
                ResponseObjectModel  = _selectedEventObjectModel.ResponseCollection[0];
                SelectedDataGridItem = ResponseObjectModel;
            }
            else
            {
                ResponseCollection  = new ObservableCollection <ResponseObjectModel>();
                ResponseObjectModel = new ResponseObjectModel();

                ResponseName        = resLoader.getResource("textBoxResponseEditorWindowResponseName");;
                ResponseDescription = resLoader.getResource("textBoxResponseEditorWindowResponseDescription");

                SelectedResponseType = Enum.GetName(typeof(GeneralResponseTypes), GeneralResponseTypes.MessageTELEGRAM);
            }

            this.IsModal = true;
        }