コード例 #1
0
        public static async Task <ComposerStep> BuildComposerStepFromShape(DrawsomeShape shape)
        {
            var query        = shape.Text;
            var luisResponse = await new LuisRecognizer("", "").GetPrediction(query);

            var content = GetContent(luisResponse);

            var shapeType = luisResponse.TopScoringIntent?.Intent;

            switch (shapeType)
            {
            case nameof(IfCondition):
                var ifStep = new IfCondition(content, shape);
                return(ifStep);

            case nameof(SetProperty):
                var setStep = new SetProperty(content ?? query, shape);
                return(setStep);

            case nameof(TextInput):
                var textStep = new TextInput(content ?? query, shape);
                return(textStep);

            case nameof(HttpRequest):
                var httpStep = new HttpRequest(content ?? query, shape);
                return(httpStep);

            case nameof(SendActivity):
            default:
                var sendStep = new SendActivity(content ?? query, shape);
                return(sendStep);
            }
        }
コード例 #2
0
        private TextBlock GetPolyLocationTextBlock(DrawsomeShape shape)
        {
            TextBlock    text = new TextBlock();
            var          inchToMillimeterFactor = 25.4f;
            List <Point> points   = new List <Point>();
            var          scalingX = DpiX / inchToMillimeterFactor;
            var          scalingY = DpiY / inchToMillimeterFactor;

            Canvas.SetTop(text, shape.RecogUnit.BoundingRect.TopY * scalingY);
            Canvas.SetLeft(text, shape.RecogUnit.BoundingRect.TopX * scalingX);

            text.Text     = string.Format("({0},{1},{2})", shape.RecogUnit.BoundingRect.TopX, shape.RecogUnit.BoundingRect.TopY, shape.Text);
            text.FontSize = 20;

            return(text);
        }