public virtual ActionResult Input() { try { using (var bodyStream = new StreamReader(Request.Body)) { var bodyText = bodyStream.ReadToEndAsync().GetAwaiter().GetResult(); dynamic json = JsonConvert.DeserializeObject(bodyText); var action = CodecFactory.GetCodecAction((string)json.Action); // if action not found if (action == null) { return(Json(ReturnResult <string> .Fail("Action not found"))); } //TODO: add parameters var tile = Tile.FromStrings(new Triplet <string>( json.Inputs.X, json.Inputs.Y, json.Inputs.Z), new IntegerTileSerializer()); var result = action.DoAction(tile); return(Json(result.GetStrings(TileSerializerFactory.GetDefaultSerizlizer()))); } } catch (Exception ex) { return(Json(ReturnResult <string> .Fail(ex.Message))); } }
public virtual ActionResult Input() { dynamic json = GetJsonObject(Request.InputStream); var action = CodecFactory.GetCodecAction((string)json.Action); // if action not found if (action == null) { return(new HttpStatusCodeResult(HttpStatusCode.NotFound)); } //TODO: add parameters var tile = Tile.FromStrings(new Triplet <string>( json.Inputs.X, json.Inputs.Y, json.Inputs.Z), new IntegerTileSerializer()); var result = action.DoAction(tile); return(Json(result.GetStrings(TileSerializerFactory.GetDefaultSerizlizer()))); }