// ############################################################################################################## /// <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)); } } }
// ############################################################################################################## /// <summary> /// Verwaltet die touchinteraktion mit dem Alexa Skill /// </summary> /// <param name="request">Enthält die Anfrage vom Amazon Alexa Server vom Typ ElementKlick</param> /// <returns></returns> private SkillResponse ElementKlickVerwalter(SkillRequest request) { var kw = 0; var year = DateTime.Now.Year; var id = request.GetItemById(); var tag = request.GetSessionDate(); if (tag != null) { kw = tag.GetWeekOfYear(); } else { kw = DateTime.Now.GetWeekOfYear(); } var speisePlan = GetSpeisePlaene(kw, year).Result; return(EssenDetailsResponseHelper.GetEssenDetailsResponse(request, speisePlan, -1, tag, id)); }