public async Task <SkillResponse> Post([FromBody] SkillRequest input, string key) { if (string.IsNullOrEmpty(key)) { return(ResponseBuilder.Tell($"Servicekonfiguration muss geändert werden.")); } var requesttype = input.GetRequestType(); if (requesttype == typeof(IntentRequest)) { var intentRequest = input.Request as IntentRequest; var name = intentRequest.Intent.Name; switch (name) { case "Warensuche": var suchbegriff = intentRequest.Intent.Slots["Suchbegriff"].Value; if (null == suchbegriff) { return(ResponseBuilder.Tell($"Ich weiß nicht wie ich das suchen soll.")); } var waren = await lieferant.SearchAsync(suchbegriff, (await userRepository.GetAsync(key)).StoreId); if (waren.Length == 0) { return(ResponseBuilder.Tell($"Ich glaube {suchbegriff} gibt es beim Billa nicht.")); } await sucheRepository.SucheZwischenSpeichernAsync(waren, input.Session.SessionId); var ware = warenFormatter.Format(waren[0]); return(ResponseBuilder.Ask($"Ich habe {(waren.Length == 1 ? "einen" : $"{waren.Length}")} Artikel für {suchbegriff} gefunden. Möchtest du {ware}?", new Reprompt()
public async Task <Ware[]> Search(string term) { return(await lieferant.SearchAsync(term, "00-2808")); }