parent
a1b669cd68
commit
18f80904b3
@ -1,5 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
using System.Linq;
|
||||||
using LitJson;
|
using LitJson;
|
||||||
|
|
||||||
namespace Fraunhofer.Fit.IoT.LoraMap.Model {
|
namespace Fraunhofer.Fit.IoT.LoraMap.Model {
|
||||||
@ -14,8 +16,12 @@ namespace Fraunhofer.Fit.IoT.LoraMap.Model {
|
|||||||
public Double Hdop { get; private set; }
|
public Double Hdop { get; private set; }
|
||||||
public Boolean Fix { get; private set; }
|
public Boolean Fix { get; private set; }
|
||||||
public Double Height { get; private set; }
|
public Double Height { get; private set; }
|
||||||
|
public SortedDictionary<DateTime, String> History { get; private set; }
|
||||||
|
|
||||||
public AlarmItem(JsonData json) => this.Update(json);
|
public AlarmItem(JsonData json) {
|
||||||
|
this.History = new SortedDictionary<DateTime, String>();
|
||||||
|
this.Update(json);
|
||||||
|
}
|
||||||
|
|
||||||
public void Update(JsonData json) {
|
public void Update(JsonData json) {
|
||||||
this.Rssi = (Double)json["Rssi"];
|
this.Rssi = (Double)json["Rssi"];
|
||||||
@ -34,21 +40,43 @@ namespace Fraunhofer.Fit.IoT.LoraMap.Model {
|
|||||||
this.UTM = new UTMData(this.Latitude, this.Longitude);
|
this.UTM = new UTMData(this.Latitude, this.Longitude);
|
||||||
this.Hdop = (Double)json["Gps"]["Hdop"];
|
this.Hdop = (Double)json["Gps"]["Hdop"];
|
||||||
this.Height = (Double)json["Gps"]["Height"];
|
this.Height = (Double)json["Gps"]["Height"];
|
||||||
|
this.SetHistory(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetHistory(JsonData json) {
|
||||||
|
String key = ((Double)json["BatteryLevel"]).ToString();
|
||||||
|
key += "_" + ((Int32)json["Calculatedcrc"]).ToString();
|
||||||
|
key += "_" + ((Double)json["Gps"]["Hdop"]).ToString();
|
||||||
|
key += "_" + ((Double)json["Gps"]["Height"]).ToString();
|
||||||
|
key += "_" + ((Boolean)json["Gps"]["Fix"]).ToString();
|
||||||
|
key += "_" + ((Double)json["Gps"]["LastLatitude"]).ToString();
|
||||||
|
key += "_" + ((Double)json["Gps"]["LastLongitude"]).ToString();
|
||||||
|
key += "_" + ((String)json["Gps"]["Time"]);
|
||||||
|
if(!this.History.ContainsValue(key)) {
|
||||||
|
this.History.Add(DateTime.UtcNow, key);
|
||||||
|
if(this.History.Count > 2) {
|
||||||
|
this.History.Remove(this.History.Keys.ToList().First());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String GetId(JsonData json) => (String)json["Name"];
|
public static String GetId(JsonData json) => (String)json["Name"];
|
||||||
|
|
||||||
public static Boolean CheckJson(JsonData json) => json.ContainsKey("Rssi") && json["Rssi"].IsDouble
|
public static Boolean CheckJson(JsonData json) =>
|
||||||
&& json.ContainsKey("Snr") && json["Snr"].IsDouble
|
json.ContainsKey("Rssi") && json["Rssi"].IsDouble &&
|
||||||
&& json.ContainsKey("Receivedtime") && json["Receivedtime"].IsString
|
json.ContainsKey("Snr") && json["Snr"].IsDouble &&
|
||||||
&& json.ContainsKey("Gps") && json["Gps"].IsObject
|
json.ContainsKey("Receivedtime") && json["Receivedtime"].IsString &&
|
||||||
&& json["Gps"].ContainsKey("Latitude") && json["Gps"]["Latitude"].IsDouble
|
json.ContainsKey("Gps") && json["Gps"].IsObject &&
|
||||||
&& json["Gps"].ContainsKey("Longitude") && json["Gps"]["Longitude"].IsDouble
|
json["Gps"].ContainsKey("Latitude") && json["Gps"]["Latitude"].IsDouble &&
|
||||||
&& json["Gps"].ContainsKey("LastLatitude") && json["Gps"]["LastLatitude"].IsDouble
|
json["Gps"].ContainsKey("Longitude") && json["Gps"]["Longitude"].IsDouble &&
|
||||||
&& json["Gps"].ContainsKey("LastLongitude") && json["Gps"]["LastLongitude"].IsDouble
|
json["Gps"].ContainsKey("LastLatitude") && json["Gps"]["LastLatitude"].IsDouble &&
|
||||||
&& json["Gps"].ContainsKey("Hdop") && json["Gps"]["Hdop"].IsDouble
|
json["Gps"].ContainsKey("LastLongitude") && json["Gps"]["LastLongitude"].IsDouble &&
|
||||||
&& json["Gps"].ContainsKey("Fix") && json["Gps"]["Fix"].IsBoolean
|
json["Gps"].ContainsKey("Hdop") && json["Gps"]["Hdop"].IsDouble &&
|
||||||
&& json["Gps"].ContainsKey("Height") && json["Gps"]["Height"].IsDouble
|
json["Gps"].ContainsKey("Fix") && json["Gps"]["Fix"].IsBoolean &&
|
||||||
&& json.ContainsKey("Name") && json["Name"].IsString;
|
json["Gps"].ContainsKey("Height") && json["Gps"]["Height"].IsDouble &&
|
||||||
|
json["Gps"].ContainsKey("Time") && json["Gps"]["Time"].IsString &&
|
||||||
|
json.ContainsKey("Name") && json["Name"].IsString &&
|
||||||
|
json.ContainsKey("Calculatedcrc") && json["Calculatedcrc"].IsInt &&
|
||||||
|
json.ContainsKey("BatteryLevel") && json["BatteryLevel"].IsDouble;
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user