예제 #1
0
        public App()
        {
            InitializeComponent();

            //MainPage = new MainPage();

            MainPage = new InitialValidation();
        }
예제 #2
0
파일: Function.cs 프로젝트: bbolek/APPizza
        /// <summary>
        /// A simple function that takes a string and does a ToUpper
        /// </summary>
        /// <param name="request"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        public LexResponse FunctionHandler(LexEvent request, ILambdaContext context)
        {
            LambdaLogger.Log(JsonSerializer.Serialize(request));

            if (request.SessionAttributes == null || !request.SessionAttributes.ContainsKey("Initialized"))
            {
                var validationResult = new InitialValidation(request).HandleJob();
                if (validationResult.DialogAction.FulfillmentState == FulfillmentState.Failed.ToString())
                {
                    return(validationResult);
                }
            }

            IIntentHandler validator = null;

            switch (request.CurrentIntent.Name)
            {
            case "OrderPizza":
                switch (request.InvocationSource)
                {
                case "DialogCodeHook":
                    validator = new OrderPizzaIntentValidation(request);
                    break;

                case "FulfillmentCodeHook":
                    validator = new SaveOrder(request);
                    break;
                }

                break;

            case "QueryOrder":
                validator = new QueryOrder(request);
                break;

            default:
                return(new HandlerBase(request).DelegateToLex());
            }

            return(validator?.HandleJob());
        }