private NotificationTimeline MapToTimeLine(Notification notification) { var timeline = new NotificationTimeline { NotificationId = notification.NotificationId, PostId = notification.PostId, Message = notification.Message, Title = notification.Title, ReadStatus = notification.ReadStatus, TimePassed = (DateTime.UtcNow - notification.NotifacationTime).FormatDuration() }; return(timeline); }
private async void btnAdd_Click(object sender, RoutedEventArgs e) { bool isInputOK = true; if (textTimelineName.Text == string.Empty) { MessageDialog dialog = new MessageDialog("タイムライン名が入力されていません", "入力エラー"); await dialog.ShowAsync(); isInputOK = false; } foreach (var t in viewModel.NowTimelineList) { if (t.ListTitle == textTimelineName.Text) { MessageDialog dialog = new MessageDialog("タイムライン名が競合しています。固有のタイムライン名を入力してください", "入力エラー"); await dialog.ShowAsync(); isInputOK = false; } } if (this.comboBoxAccount.SelectedIndex == -1) { MessageDialog dialog = new MessageDialog("アカウント名が選択されていません", "入力エラー"); await dialog.ShowAsync(); isInputOK = false; } if (this.comboBoxTimelineType.SelectedIndex == -1) { MessageDialog dialog = new MessageDialog("タイムラインタイプが選択されていません", "入力エラー"); await dialog.ShowAsync(); isInputOK = false; } if (isInputOK == true) { TimelineBase resultModel = null; TwitterAccount account = (TwitterAccount)comboBoxAccount.SelectedItem; switch (comboBoxTimelineType.SelectedIndex) { case 0: resultModel = new HomeTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 1: resultModel = new MentionTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 2: resultModel = new NotificationTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 3: if (textSearchWord.Text == string.Empty) { MessageDialog dialog = new MessageDialog("検索ワードが入力されていません", "入力エラー"); await dialog.ShowAsync(); return; } resultModel = new SearchTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, textSearchWord.Text, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 4: if (comboList.SelectedIndex == -1) { MessageDialog dialog = new MessageDialog("リストが選択されていません", "入力エラー"); await dialog.ShowAsync(); return; } resultModel = new ListTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, (TwitterList)comboList.SelectedItem, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 5: resultModel = new DirectMessageTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 6: if (textUser.Text == string.Empty) { MessageDialog dialog = new MessageDialog("ユーザー名が入力されていません", "入力エラー"); await dialog.ShowAsync(); return; } resultModel = new UserTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, textUser.Text, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 7: resultModel = new ImageTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 8: resultModel = new LinkTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; } if (toggleTimelineFiltering.IsOn) { resultModel.ExtractionAccountScreenNameStr = textExtractionAccount.Text; resultModel.ExcludeAccountScreenNameStr = textExcludeAccount.Text; resultModel.ExtractionWordStr = textExtractionWord.Text; resultModel.ExcludeWordStr = textExcludeWord.Text; resultModel.IsTimelineFiltering = toggleTimelineFiltering.IsOn; resultModel.IsNewNotification = toggleNotification.IsOn; } viewModel.AddTimelineCommand.Execute(resultModel); onCreateCallBack(resultModel); this.Hide(); } }
private async void btnAdd_Click(object sender, RoutedEventArgs e) { bool isInputOK = true; if (textTimelineName.Text == string.Empty) { MessageDialog dialog = new MessageDialog("タイムライン名が入力されていません","入力エラー"); await dialog.ShowAsync(); isInputOK = false; } foreach (var t in viewModel.NowTimelineList) { if (t.ListTitle == textTimelineName.Text) { MessageDialog dialog = new MessageDialog("タイムライン名が競合しています。固有のタイムライン名を入力してください", "入力エラー"); await dialog.ShowAsync(); isInputOK = false; } } if (this.comboBoxAccount.SelectedIndex == -1) { MessageDialog dialog = new MessageDialog("アカウント名が選択されていません", "入力エラー"); await dialog.ShowAsync(); isInputOK = false; } if (this.comboBoxTimelineType.SelectedIndex == -1) { MessageDialog dialog = new MessageDialog("タイムラインタイプが選択されていません", "入力エラー"); await dialog.ShowAsync(); isInputOK = false; } if (isInputOK == true) { TimelineBase resultModel=null; TwitterAccount account=(TwitterAccount)comboBoxAccount.SelectedItem; switch(comboBoxTimelineType.SelectedIndex) { case 0: resultModel = new HomeTimeline(account, textTimelineName.Text,viewModel.GetNowTab().TabTitle,viewModel.Setting,viewModel.CallTimelineAction,viewModel.CallRowAction); break; case 1: resultModel = new MentionTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 2: resultModel = new NotificationTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 3: if (textSearchWord.Text ==string.Empty) { MessageDialog dialog = new MessageDialog("検索ワードが入力されていません","入力エラー"); await dialog.ShowAsync(); return; } resultModel = new SearchTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, textSearchWord.Text, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 4: if (comboList.SelectedIndex==-1) { MessageDialog dialog = new MessageDialog("リストが選択されていません", "入力エラー"); await dialog.ShowAsync(); return; } resultModel = new ListTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, (TwitterList)comboList.SelectedItem, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 5: resultModel = new DirectMessageTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 6: if (textUser.Text==string.Empty) { MessageDialog dialog = new MessageDialog("ユーザー名が入力されていません", "入力エラー"); await dialog.ShowAsync(); return; } resultModel = new UserTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, textUser.Text, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; case 7: resultModel = new ImageTimeline(account, textTimelineName.Text,viewModel.GetNowTab().TabTitle,viewModel.Setting,viewModel.CallTimelineAction,viewModel.CallRowAction); break; case 8: resultModel = new LinkTimeline(account, textTimelineName.Text, viewModel.GetNowTab().TabTitle, viewModel.Setting, viewModel.CallTimelineAction, viewModel.CallRowAction); break; } if (toggleTimelineFiltering.IsOn) { resultModel.ExtractionAccountScreenNameStr = textExtractionAccount.Text; resultModel.ExcludeAccountScreenNameStr = textExcludeAccount.Text; resultModel.ExtractionWordStr = textExtractionWord.Text; resultModel.ExcludeWordStr = textExcludeWord.Text; resultModel.IsTimelineFiltering = toggleTimelineFiltering.IsOn; resultModel.IsNewNotification = toggleNotification.IsOn; } viewModel.AddTimelineCommand.Execute(resultModel); onCreateCallBack(resultModel); this.Hide(); } }