public static BackgroundEvent BeaconEventStateFromString(string s) { if (string.IsNullOrEmpty(s)) { return(null); } string[] ss = s.Split(new char[] { ',' }); if (ss.Length < 3) { return(null); } BackgroundEvent be = new BackgroundEvent(); be.BeaconId = ss[0]; be.LastEvent = (BeaconEventType)int.Parse(ss[1]); be.EventTime = DateTimeOffset.FromUnixTimeMilliseconds(long.Parse(ss[2])); return(be); }
private bool IsValidEnterEvent(BackgroundEvent history, Beacon beacon, int outOfRangeDb) { if (history == null) { return true; } if(!SuppressBurst) { return history.LastEvent == BeaconEventType.Exit || !IsOutOfRange(outOfRangeDb, beacon) && history.EventTime.AddMilliseconds(AppSettings.BeaconExitTimeout) < DateTimeOffset.Now; } return !IsOutOfRange(outOfRangeDb, beacon) && history.EventTime.AddMilliseconds(AppSettings.BeaconExitTimeout) < DateTimeOffset.Now; }
public static BackgroundEvent BeaconEventStateFromString(string s) { if (string.IsNullOrEmpty(s)) { return null; } string[] ss = s.Split(new char[] { ',' }); if (ss.Length < 3) { return null; } BackgroundEvent be = new BackgroundEvent(); be.BeaconId = ss[0]; be.LastEvent = (BeaconEventType)int.Parse(ss[1]); be.EventTime = DateTimeOffset.FromUnixTimeMilliseconds(long.Parse(ss[2])); return be; }
public async Task<bool> SaveBeaconEventState(string pid, BeaconEventType enter) { LastEventState[pid] = new BackgroundEvent() {BeaconId = pid, EventTime = DateTimeOffset.Now, LastEvent = enter}; return true; }