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); } }
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); }