コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public static string DelayedActionToString(DelayedActionHelper delayedActionHelper)
 {
     return(DelayedActionToString(delayedActionHelper.Content, delayedActionHelper.Offset, delayedActionHelper.Executed, delayedActionHelper.Id, delayedActionHelper.Location));
 }