// ############################################################################################################## private SkillResponse WocheNachKategorieKommando(SkillRequest anfrage) { var intentRequest = (IntentRequest)anfrage.Request; if (intentRequest.DialogState.Equals("STARTED")) { return(ResponseBuilder.DialogDelegate(anfrage.Session, intentRequest.Intent)); } else if (!intentRequest.DialogState.Equals("COMPLETED")) { return(ResponseBuilder.DialogDelegate(anfrage.Session)); } else { var numberKW = DateTime.Now.GetNumberOfWeeks(); var kw = DateTime.Now.GetWeekOfYear(); var year = DateTime.Now.Year; var kategorie = anfrage.GetSlotValueInt(SlotValues.Kategorie.ToString(), defaultValue); var nextWeek = anfrage.GetSlotValueInt(SlotValues.NextWeek.ToString(), defaultValue) == defaultValue; if (!nextWeek) { kw++; } if (kw > numberKW) { kw = 1; year++; } var speisePlan = GetSpeisePlaene(kw, year).Result; if (kategorie != defaultValue) { return(WocheNachKategorieAntwortHelfer.GetWocheNachKategorieResponse(anfrage, speisePlan, kategorie, kw)); } else { return(AlexaAntwortHelfer.GibEinfacheAntwort(anfrage, SkillTypen.Error, FehlerTypen.FehlerAnfrage.ToDescription(), "", null, DateTime.Now, false)); } } }
private SkillResponse FarbeMischenIntent(SkillRequest request) { var response = AlexaAntwortHelfer.GibEinfacheAntwort(request, SkillTypen.Error, FehlerTypen.FehlerAnfrage.ToDescription(), "", null, DateTime.Now, null); var intentRequest = (IntentRequest)request.Request; if (intentRequest.DialogState.Equals("STARTED")) { return(ResponseBuilder.DialogDelegate(request.Session, intentRequest.Intent)); } else if (!intentRequest.DialogState.Equals("COMPLETED")) { return(ResponseBuilder.DialogDelegate(request.Session)); } else { var text = "Daraus ergibt sich"; var farbe1 = request.GetSlotValueInt("FarbeEins", -1); var farbe2 = request.GetSlotValueInt("FarbeZwei", -1); if (farbe1 == 1 && farbe2 == 2 || farbe1 == 2 && farbe2 == 1) { response = AlexaAntwortHelfer.GibEinfacheAntwort(request, SkillTypen.Error, $"{text} lila.", "", null, DateTime.Now, null); } else if (farbe1 == 1 && farbe2 == 3 || farbe1 == 3 && farbe2 == 1) { response = AlexaAntwortHelfer.GibEinfacheAntwort(request, SkillTypen.Error, $"{text} orange.", "", null, DateTime.Now, null); } else if (farbe1 == 3 && farbe2 == 2 || farbe1 == 2 && farbe2 == 3) { response = AlexaAntwortHelfer.GibEinfacheAntwort(request, SkillTypen.Error, $"{text} grün.", "", null, DateTime.Now, null); } else if (farbe1 == farbe2) { response = AlexaAntwortHelfer.GibEinfacheAntwort(request, SkillTypen.Error, "<s>Hey</s>, die gleiche Farbe zu mischen ist witzlos.", "", null, DateTime.Now, null); } return(response); } }
// ############################################################################################################## /// <summary> /// /// </summary> /// <param name="anfrage">Enthält die Anfrage vom Amazon Alexa Server</param> /// <returns></returns> private SkillResponse TagUndKategorieKommando(SkillRequest anfrage) { var intentRequest = (IntentRequest)anfrage.Request; if (intentRequest.DialogState.Equals("STARTED")) { return(ResponseBuilder.DialogDelegate(anfrage.Session, intentRequest.Intent)); } else if (!intentRequest.DialogState.Equals("COMPLETED")) { return(ResponseBuilder.DialogDelegate(anfrage.Session)); } else { var numberKW = DateTime.Now.GetNumberOfWeeks(); var kw = DateTime.Now.GetWeekOfYear(); var year = DateTime.Now.Year; var kategorie = anfrage.GetSlotValueInt(SlotValues.Kategorie.ToString(), defaultValue); var tag = anfrage.GetDateTime(SlotValues.Tag.ToString()); if (tag == null) { tag = DateTime.Now; } if (tag.Value.DayOfWeek < DateTime.Now.DayOfWeek) { kw++; } if (kw > numberKW) { kw = 1; year++; } var speisePlan = GetSpeisePlaene(kw, year).Result; if (kategorie != defaultValue) { return(EssenDetailsResponseHelper.GetEssenDetailsResponse(anfrage, speisePlan, kategorie, tag, 0)); } else { return(AlexaAntwortHelfer.GibEinfacheAntwort(anfrage, SkillTypen.Error, FehlerTypen.FehlerAnfrage.ToDescription(), "", null, tag.Value.Date, false)); } } }