/// <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); } }
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; }
/// <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; }
/// <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); } }
/// <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; }