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);
        }
Example #2
0
        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;
        }