public HttpResponseMessage AddOffsets([FromBody] List <OffsetRequest> offsets) { Logger log = LogManager.GetCurrentClassLogger(); log.Info("Received FSUIPC add offsets call"); if (FSPFSUIPCConnection.IsOpen) { if (offsets != null) { if (offsets.Count() > 0) { try { string group = offsets.First().DataGroup; foreach (OffsetRequest req in offsets) { log.Debug("Add Offset: {0}, Type: {1}, Group: {2}", req.Address, req.DataType, req.DataGroup); FSPFSUIPCConnection.AddOffset(req.Address, req.DataType, req.DataGroup); } HttpResponseMessage response = ReadOffsets(group); return(response); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Exception Gettig values", ex)); } } else { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Empty offset list")); } } else { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Empty or bad formatted offset list")); } } else { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "FSUIPC Connection is not opened!")); } }
public HttpResponseMessage OpenPost([FromBody] FSUIPCConnect value) { Logger log = LogManager.GetCurrentClassLogger(); try { log.Info("Received OpenFSUIPC Connection call"); ConnectResponse resp = new ConnectResponse(); if (FSPFSUIPCConnection.IsOpen) { log.Info("Connection already is open"); resp.Message = "Connection Opened"; } else { log.Info("Opening connection.."); FSPFSUIPCConnection.Open(); resp.Message = "Connection Opened"; } FSPFSUIPCConnection.AddOffset(15616, Datatype.String, "Connect"); FSPOffset _offset = FSPFSUIPCConnection.Process("Connect").First(); OffsetResponse _resp = OffsetHelpers.setOffsetResponse(_offset); resp.Version = FSPServerV2.Library.Properties.Version.getVersion(); resp.Simulator = FSPFSUIPCConnection.FlightSimVersionConnected.ToString(); resp.Aircraft = _resp.Value; return(Request.CreateResponse(HttpStatusCode.OK, resp)); } catch (Exception ee) { Console.WriteLine(ee.Message); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Connection Error", ee)); //return Request.CreateResponse(HttpStatusCode.OK, "error: " + ee.Message); } }