public static DelayedActionData DelayedActionFromHelper(DelayedActionHelper delayedActionHelper) { if (delayedActionHelper == null) { return(null); } string s = Encoding.UTF8.GetString(Convert.FromBase64String(delayedActionHelper.Content)); SerializedAction deserializeObject = JsonConvert.DeserializeObject <SerializedAction>(s); DelayedActionData data = new DelayedActionData(); data.Id = delayedActionHelper.Id; data.BeaconPid = deserializeObject.Beacon; data.DueTime = deserializeObject.Time; data.EventTypeDetectedByDevice = deserializeObject.Event; data.ResolvedAction = deserializeObject.Action; if (!string.IsNullOrEmpty(deserializeObject.Action.BeaconAction?.PayloadString)) { data.ResolvedAction.BeaconAction.Payload = JsonObject.Parse(deserializeObject.Action.BeaconAction.PayloadString); } data.ResolvedAction = deserializeObject.Action; data.Location = delayedActionHelper.Location; return(data); }
public static DelayedActionHelper SimpleDelayedActionFromString(string s) { if (string.IsNullOrEmpty(s)) { return(null); } string[] ss = s.Split(new char[] { ',' }); if (ss.Length < 4) { return(null); } DelayedActionHelper dah = new DelayedActionHelper(); dah.Id = ss[0]; dah.Offset = DateTimeOffset.FromUnixTimeMilliseconds(long.Parse(ss[1])); dah.Executed = bool.Parse(ss[2]); dah.Content = ss[3]; if (ss.Length > 4) { dah.Location = ss[4]; } return(dah); }
public static List <DelayedActionHelper> DelayedActionsFromStrings(IList <string> strings) { if (strings == null || strings.Count == 0) { return(new List <DelayedActionHelper>()); } List <DelayedActionHelper> actions = new List <DelayedActionHelper>(); foreach (string s in strings) { DelayedActionHelper ha = SimpleDelayedActionFromString(s); if (ha != null) { actions.Add(ha); } } return(actions); }
public static string DelayedActionToString(DelayedActionHelper delayedActionHelper) { return(DelayedActionToString(delayedActionHelper.Content, delayedActionHelper.Offset, delayedActionHelper.Executed, delayedActionHelper.Id, delayedActionHelper.Location)); }