public async Task <IHttpActionResult> PostCurrentPosition(HttpRequestMessage request) { Stream streamContent = await request.Content.ReadAsStreamAsync(); streamContent.Seek(0, SeekOrigin.Begin); ApiResponse <IGeographicalPosition> response = new ApiResponse <IGeographicalPosition>(); try { RequestGetPositionModel requestModel; using (StreamReader requestReader = new StreamReader(streamContent, Encoding.GetEncoding("ISO-8859-1"))) { requestModel = JsonConvert.DeserializeObject <RequestGetPositionModel>(requestReader.ReadToEnd()); } using (LogicEngine logicEngine = new LogicEngine(DataEngineKind.Storage)) { response.Result = await logicEngine.GetCurrentPosition(requestModel.TaxyId, requestModel.TravelId); } } catch (PlatformException ex) { response.Code = -1; response.Message = ex.Message; EventManager.WriteEvent(ex); } catch (LogicException ex) { response.Code = 100; response.Message = ex.Message; EventManager.WriteEvent(ex); } catch (Exception ex) { response.Code = -200; response.Message = ex.Message; EventManager.WriteEvent(ex); } return(Json(response, new JsonSerializerSettings())); }