public SwrveCampaignState(int campaignId, Dictionary <string, object> savedStatesJson)
        {
            string curKey;

            // Load next
            curKey = "Next" + campaignId;
            if (savedStatesJson.ContainsKey(curKey))
            {
                Next = MiniJsonHelper.GetInt(savedStatesJson, curKey);
            }

            // Load impressions
            curKey = "Impressions" + campaignId;
            if (savedStatesJson.ContainsKey(curKey))
            {
                Impressions = MiniJsonHelper.GetInt(savedStatesJson, curKey);
            }

            // Load cur status
            curKey = "Status" + campaignId;
            if (savedStatesJson.ContainsKey(curKey))
            {
                CurStatus = ParseStatus(MiniJsonHelper.GetString(savedStatesJson, curKey));
            }
            else
            {
                CurStatus = Status.Unseen;
            }
        }
Example #2
0
 public SwrveQAUser(SwrveSDK swrve, Dictionary <string, object> jsonQa)
 {
     this.swrve       = swrve;
     this.ResetDevice = MiniJsonHelper.GetBool(jsonQa, "reset_device_state", false);
     this.Logging     = MiniJsonHelper.GetBool(jsonQa, "logging", false);
     if (this.Logging)
     {
         this.restClient = new RESTClient();
         this.loggingUrl = MiniJsonHelper.GetString(jsonQa, "logging_url", null);
         this.loggingUrl = this.loggingUrl.Replace("http://", "https://");
         if (!this.loggingUrl.EndsWith("/"))
         {
             this.loggingUrl += "/";
         }
     }
     this.campaignReasons  = new Dictionary <int, string>();
     this.campaignMessages = new Dictionary <int, SwrveBaseMessage>();
 }
        public static SwrveEmbeddedMessage LoadFromJSON(SwrveEmbeddedCampaign campaign, Dictionary <string, object> messageData)
        {
            SwrveEmbeddedMessage message = new SwrveEmbeddedMessage();

            message.Campaign = campaign;
            if (messageData.ContainsKey("priority"))
            {
                message.Priority = MiniJsonHelper.GetInt(messageData, "priority");
            }

            if (messageData.ContainsKey("id"))
            {
                message.Id = MiniJsonHelper.GetInt(messageData, "id");
            }

            if (messageData.ContainsKey("type"))
            {
                string typeString = MiniJsonHelper.GetString(messageData, "type");
                message.setType(typeString);
            }

            if (messageData.ContainsKey("buttons"))
            {
                List <object> jsonButtons = (List <object>)messageData ["buttons"];
                if (jsonButtons.Count > 0)
                {
                    message.buttons = new List <string>();
                }

                for (int i = 0; i < jsonButtons.Count; i++)
                {
                    string buttonName = (string)jsonButtons[i];
                    message.buttons.Add(buttonName);
                }
            }

            if (messageData.ContainsKey("data"))
            {
                message.data = MiniJsonHelper.GetString(messageData, "data");
            }

            return(message);
        }
Example #4
0
        public SwrveCampaignState(int campaignId, Dictionary <string, object> savedStatesJson)
        {
            string key = "Next" + campaignId;

            if (savedStatesJson.ContainsKey(key))
            {
                this.Next = MiniJsonHelper.GetInt(savedStatesJson, key);
            }
            key = "Impressions" + campaignId;
            if (savedStatesJson.ContainsKey(key))
            {
                this.Impressions = MiniJsonHelper.GetInt(savedStatesJson, key);
            }
            key = "Status" + campaignId;
            if (savedStatesJson.ContainsKey(key))
            {
                this.CurStatus = SwrveCampaignState.ParseStatus(MiniJsonHelper.GetString(savedStatesJson, key));
            }
            else
            {
                this.CurStatus = SwrveCampaignState.Status.Unseen;
            }
        }