コード例 #1
0
        // ##############################################################################################################
        /// <summary>
        /// Gibt die richtige Antwort auf eine Anfrage vom Typ SpeiseplanKommando
        /// </summary>
        /// <param name="anfrage">Enthält die Anfrage vom Amazon Alexa Server vom Typ SpeiseplanKommando</param>
        /// <returns></returns>
        private SkillResponse SpeisePlanKommando(SkillRequest anfrage)
        {
            var tag      = anfrage.GetDateTime(SlotValues.Tag.ToString());
            var kw       = DateTime.Now.GetWeekOfYear();
            var year     = DateTime.Now.Year;
            var numberKW = DateTime.Now.GetNumberOfWeeks();

            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 (speisePlan != null)
            {
                return(SpeisePlanAntwortHelfer.GetSpeisePlanResponse(anfrage, speisePlan, tag));
            }
            else
            {
                return(AlexaAntwortHelfer.GibEinfacheAntwort(anfrage, SkillTypen.Error, FehlerTypen.NoSpeisePlan.ToDescription(), "", null, tag.Value.Date, false));
            }
        }
コード例 #2
0
        // ##############################################################################################################
        /// <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));
                }
            }
        }