Example #1
0
        public dynamic Tombolina(AlexaRequest alexaRequest)
        {
            AlexaResponse response = null;

            //var speechlet = new SessionSpeechLet();
            //HttpResponseMessage check = null;

            //try
            //{
            //    check = speechlet.GetResponse(Request);
            //}
            //catch (Exception ex)
            //{
            //    check = new HttpResponseMessage(HttpStatusCode.Conflict);
            //}

            //if (check.StatusCode.Equals(HttpStatusCode.OK))
            //{
            Request request = new Data.Request();

            request.MemberId    = (alexaRequest.Session.Attributes == null) ? 0 : alexaRequest.Session.Attributes.MemberId;
            request.Timestamp   = alexaRequest.Request.Timestamp;
            request.Intent      = (alexaRequest.Request.Intent == null) ? "" : alexaRequest.Request.Intent.Name;
            request.AppId       = alexaRequest.Session.Application.ApplicationId;
            request.RequestId   = alexaRequest.Request.RequestId;
            request.SessionId   = alexaRequest.Session.SessionId;
            request.UserId      = alexaRequest.Session.User.UserId;
            request.IsNew       = alexaRequest.Session.New;
            request.Version     = alexaRequest.Version;
            request.Type        = alexaRequest.Request.Type;
            request.Reason      = alexaRequest.Request.Reason;
            request.SlotsList   = alexaRequest.Request.Intent.GetSlots();
            request.DateCreated = DateTime.UtcNow;

            switch (request.Type)
            {
            case "LaunchRequest":
                response = LaunchRequestHandler(request);

                break;

            case "IntentRequest":
                response = IntentRequestHandler(request);

                break;

            case "SessionEndedRequest":
                response = SessionEndedRequestHandler(request);

                break;
            }

            return(response);
            //}
            //else
            //    return new HttpResponseMessage(HttpStatusCode.BadRequest);
        }
Example #2
0
        public dynamic Napolina(AlexaRequest alexaRequest)
        {
            AlexaResponse response = null;

            Request request = new Data.Request();

            request.MemberId    = (alexaRequest.Session.Attributes == null) ? 0 : alexaRequest.Session.Attributes.MemberId;
            request.Timestamp   = alexaRequest.Request.Timestamp;
            request.Intent      = (alexaRequest.Request.Intent == null) ? "" : alexaRequest.Request.Intent.Name;
            request.AppId       = alexaRequest.Session.Application.ApplicationId;
            request.RequestId   = alexaRequest.Request.RequestId;
            request.SessionId   = alexaRequest.Session.SessionId;
            request.UserId      = alexaRequest.Session.User.UserId;
            request.IsNew       = alexaRequest.Session.New;
            request.Version     = alexaRequest.Version;
            request.Type        = alexaRequest.Request.Type;
            request.Reason      = alexaRequest.Request.Reason;
            request.SlotsList   = alexaRequest.Request.Intent.GetSlots();
            request.DateCreated = DateTime.UtcNow;

            switch (request.Type)
            {
            case "LaunchRequest":
                response = LaunchRequestHandler(request);

                break;

            case "IntentRequest":
                response = IntentRequestHandler(request);

                break;

            case "SessionEndedRequest":
                response = SessionEndedRequestHandler(request);

                break;

            default:
                response = SearchWordNotMatchIntent(request);

                break;
            }

            return(response);
        }