public List <OwnBoatData> getOwnBoatByTime(TimeType startTime, TimeType endTime) { List <OwnBoatData> OwnBoatMessages = new List <OwnBoatData>(); IMongoCollection <BsonDocument> collection = _db.GetCollection <BsonDocument>("OwnBoat"); var filter1 = Builders <BsonDocument> .Filter.Gt("timeStamp.seconds", startTime.seconds); var filter2 = Builders <BsonDocument> .Filter.Lt("timeStamp.seconds", endTime.seconds); var mainFilter = Builders <BsonDocument> .Filter.And(filter1, filter2); var result = collection.Find(mainFilter).ToList(); foreach (var ownBoatRecord in result) { var tmp = new JsonWriterSettings { OutputMode = JsonOutputMode.Strict }; JObject json = JObject.Parse(ownBoatRecord.ToJson <MongoDB.Bson.BsonDocument>(tmp)); OwnBoatData ownboatMessage = Newtonsoft.Json.JsonConvert.DeserializeObject <OwnBoatData>(json.ToString()); OwnBoatMessages.Add(ownboatMessage); } return(OwnBoatMessages); }
public void SendOwnBoatData(OwnBoatData message) { string json = JsonConvert.SerializeObject(message); var body = Encoding.UTF8.GetBytes(json); Channel.BasicPublish(exchange: "LucidOwnBoatData", routingKey: "", basicProperties: null, body: body); }
// Handle the Own Boat message public void HandleOwnBoatMessage(OwnBoatOriginalMessage message) { OwnBoatData ownBoat = new OwnBoatData(); // convert ownBoat.timeStamp = convertTime(message.systemTime.time.value); ownBoat.timeZone = message.timeZone.data.value; ownBoat.heading = message.heading.data.value; ownBoat.pitch = message.pitch.data.value; ownBoat.roll = message.roll.data.value; ownBoat.heave = message.heave.data.value; sender.SendOwnBoatData(ownBoat); //save to db db.saveRecord(ownBoat, "OwnBoat"); }
public List <OwnBoatData> getAllOwnBoatData() { List <OwnBoatData> result = new List <OwnBoatData>(); var allMessages = getMessages("OwnBoat"); foreach (var message in allMessages) { var x = new JsonWriterSettings { OutputMode = JsonOutputMode.Strict }; JObject json = JObject.Parse(message.ToJson <MongoDB.Bson.BsonDocument>(x)); OwnBoatData ownBoatRecord = Newtonsoft.Json.JsonConvert.DeserializeObject <OwnBoatData>(json.ToString()); result.Add(ownBoatRecord); } return(result); }