Beispiel #1
0
        public IActionResult TextToTestConverter(String Utterance)
        {
            Intent        userIntent    = new Intent();
            CodeConverter codeConverter = new CodeConverter();

            userIntent.Utterance = Utterance;
            string[] lines = Utterance.Split(new[] { "\r\n" }, StringSplitOptions.None);
            if (lines != null && lines.Count() > 0)
            {
                String codeResult = String.Empty;
                foreach (var item in lines)
                {
                    Task <String> intentTask = IntentManager.GetIntent(item);
                    codeResult += codeConverter.ConvertToCode(intentTask.Result);
                }
                userIntent.IntentValue = codeResult;
            }
            else
            {
                Task <String> intentTask = IntentManager.GetIntent(Utterance);
                String        codeResult = codeConverter.ConvertToCode(intentTask.Result);
                userIntent.IntentValue = codeResult;
            }


            return(View(userIntent));
        }
        public SpeechletResponseEnvelope Post()
        {
            var r           = Request.Content.ReadAsStringAsync().Result;
            var requestBody = JsonConvert.DeserializeObject <SpeechletRequestEnvelope>(r);

            Trace.TraceInformation(r);
            Trace.TraceInformation("---------");
            var type = requestBody?.Request?.Type;

            Trace.TraceInformation("intent type" + type);
            if (type == "LaunchRequest")
            {
                return(IntentManager.GetIntent("LaunchRequest").GetAlexaResponse());
                //   return  LaunchRequest.GetAlexaResponse();
            }
            var intentName = requestBody?.Request?.Intent?.Name;

            Trace.TraceInformation("intent Name" + intentName);
            if (string.IsNullOrEmpty(intentName))
            {
                return(null);
            }
            CacheManager.AddSlots(requestBody.Request.Intent.GetSlots);
            IntentBase intent = IntentManager.GetIntent(intentName);

            if (intent == null)
            {
                return(AlexaService.Json.UtillResponces.NoIntent(intentName));
            }
            var alexaResponse = intent.GetAlexaResponse();

            CacheManager.Intent.Push(intent);
            return(alexaResponse);
        }