Example #1
0
        public void ProccessQuery(Query query)
        {
            if (IsListening(query))
            {
                var response = "";
                switch (query.Intent)
                {
                case "hello":
                case "hey":
                case "hi":
                    response = responses.GetGreetingResponse();
                    break;

                case "how are you":
                    response = responses.GetPleasantryResponse();
                    break;

                case "what is time":
                    response = responses.GetTimeResponse(_dateTimeService.GetTime());
                    break;

                case "what is date":
                    response = responses.GetDateResponse(_dateTimeService.GetDate());
                    break;

                case "open file":
                    response = "Opening file";
                    _applicationService.OpenApplicationWithParamter("explorer", "C:/Users/Andrew/");
                    break;

                case "close file":
                    response = "Closing file";
                    _applicationService.CloseApplication("explorer");
                    break;

                case "set timer":
                case "start timer":
                    response = "For how long?";
                    break;

                case "stop timer":
                    _moduleController.StopCoutdown();
                    break;

                case "what is weather":
                case "tell weather":
                case "get weather":
                    response = responses.GetWeatherResponseResponse(_weatherService.GetWeatherForcast());
                    break;

                case "what is temperature":
                case "get temperature":
                    response = responses.GetWeatherResponse(_weatherService.GetTemperature());
                    break;

                    #region Deprecated
                    //case "play audio":
                    //    response = "Playing audio";
                    //    break;
                    //case "stop audio":
                    //    response = "Stopping Audio";
                    //    break;
                    //case "start mediaplayer":
                    //case "open mediaplayer":
                    //    moduleController.createMediaPlayer();
                    //    break;
                    //case "stop mediaplayer":
                    //case "close mediaplayer":
                    //    moduleController.getMediaPlayerInstance().Dispose();
                    //    break;
                    //case "stop media":
                    //case "pause media":
                    //    moduleController.getMediaPlayerInstance().pauseMedia();
                    //    break;
                    //case "start media":
                    //case "play media":
                    //case "resume media":
                    //    moduleController.getMediaPlayerInstance().resumeMedia();
                    //    break;
                    //case "fullscreen mediaplayer":
                    //    moduleController.getMediaPlayerInstance().fullscreen();
                    //    break;
                    //case "exit fullscreen":
                    //    moduleController.getMediaPlayerInstance().exitFullscreen();
                    //    break;
                    //case "maximize mediaplayer":
                    //    moduleController.getMediaPlayerInstance().WindowState = FormWindowState.Maximized;
                    //    break;
                    //case "minimize mediaplayer":
                    //    moduleController.getMediaPlayerInstance().WindowState = FormWindowState.Minimized;
                    //    break;
                    //case "open youtube":
                    //    moduleController.createWebBrowser();
                    //    moduleController.getWebBrowserInstance().NavigateToPage("https://www.youtube.com/");
                    //    break;
                    //case "open web":
                    //case "open browser":
                    //    moduleController.createWebBrowser();
                    //    moduleController.getWebBrowserInstance().NavigateToPage("https://www.google.com/");
                    //    break;
                    //case "maximize browser":
                    //    moduleController.getWebBrowserInstance().WindowState = FormWindowState.Maximized;
                    //    break;
                    //case "minimize browser":
                    //    moduleController.getWebBrowserInstance().WindowState = FormWindowState.Minimized;
                    //    break;
                    //case "close browser":
                    //    moduleController.getWebBrowserInstance().Dispose();
                    //    break;
                    //case "fullscreen browser":
                    //    moduleController.getWebBrowserInstance().fullscreen();
                    //    break;
                    //case "search ":
                    //    //_recognitionController.loadGrammarAlphabetWeb();
                    //    break;
                    //case "add appointment":
                    //case "set appointment":
                    //case "add reminder":
                    //case "set reminder":
                    //    response = ("What is your reminder");
                    //    //_recognitionController.loadGrammarReminder();
                    //    break;
                    //case "have appointments":
                    //case "get appointment":
                    ////case "get reminder":
                    ////    response = ("Getting reminder");
                    ////    moduleController.getReminderInstance().getReminder();
                    ////    break;
                    //case "spell word":
                    //    response = ("Start spellinng you word");
                    //    //_recognitionController.loadGrammarAlphabet();
                    //    break;
                    #endregion
                case "none":
                case null:
                    break;

                default:
                    if (lastUtterances.Count != 0 && (lastUtterances.Peek().ToString().Equals("start timer") ||
                                                      lastUtterances.Peek().ToString().Equals("set timer")))
                    {
                        if (query.Intent.Contains("minute") || query.Intent.Contains("second"))
                        {
                            _moduleController.ShowCountdown();
                            _speechController.Speak("Timer added for " + query.Intent);
                            _moduleController.StartCountdown(query.Intent);
                        }
                    }
                    else if (query.Intent.Contains("open"))
                    {
                        response = "Opening " + query.Entities.FirstOrDefault();
                        _applicationService.OpenApplication(query.Entities.FirstOrDefault());
                        break;
                    }
                    else if (query.Intent.Contains("close"))
                    {
                        response = "Opening " + query.Entities.FirstOrDefault();
                        _applicationService.OpenApplication(query.Entities.FirstOrDefault());
                        break;
                    }
                    else if (query.Intent.Contains("search"))
                    {
                        var searchTerm       = query.Entities.First().ToString();
                        var optionalParamter = query.Entities.Count > 1 ? query.Entities.Last() : null;
                        _internetService.SearchInternet(searchTerm, optionalParamter);
                        response = "Searching for " + searchTerm;
                        break;
                    }
                    break;
                }
                if (response != "")
                {
                    _speechController.Speak(response);
                    _moduleController.SetText(response);
                    _moduleController.SetBotChatlog(response);
                }
                lastUtterances.Push(query);
            }
        }