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 async Task <IList <DelayedActionData> > GetDelayedActions() { List <DelayedActionData> actions = new List <DelayedActionData>(); StorageFolder folder = await GetFolder(ForegroundActionsFolder, true); StorageFile file = await folder.CreateFileAsync(DelayedActionsFileName, CreationCollisionOption.OpenIfExists); List <DelayedActionHelper> delayedActionHelpers = FileStorageHelper.DelayedActionsFromStrings(await FileIO.ReadLinesAsync(file)); foreach (DelayedActionHelper delayedActionHelper in delayedActionHelpers) { if (!delayedActionHelper.Executed) { DelayedActionData data = FileStorageHelper.DelayedActionFromHelper(delayedActionHelper); actions.Add(data); } } return(actions); }
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; }