示例#1
0
        public static SwrveMessagesCampaign LoadFromJSON(ISwrveAssetsManager swrveAssetsManager, Dictionary <string, object> campaignData, int id, DateTime initialisedTime, SwrveQAUser qaUser, Color?defaultBackgroundColor)
        {
            SwrveMessagesCampaign swrveMessagesCampaign = new SwrveMessagesCampaign(initialisedTime);
            object obj = null;

            campaignData.TryGetValue("messages", out obj);
            IList <object> list = null;

            try
            {
                list = (IList <object>)obj;
            }
            catch (Exception ex)
            {
                swrveMessagesCampaign.LogAndAddReason(string.Concat(new object[]
                {
                    "Campaign [",
                    id,
                    "] invalid messages found, skipping.  Error: ",
                    ex
                }), qaUser);
            }
            if (list == null)
            {
                swrveMessagesCampaign.LogAndAddReason("Campaign [" + id + "] JSON messages are null, skipping.", qaUser);
                return(null);
            }
            int i     = 0;
            int count = list.Count;

            while (i < count)
            {
                Dictionary <string, object> messageData = (Dictionary <string, object>)list[i];
                SwrveMessage swrveMessage = SwrveMessage.LoadFromJSON(swrveAssetsManager, swrveMessagesCampaign, messageData, defaultBackgroundColor);
                if (swrveMessage.Formats.Count > 0)
                {
                    swrveMessagesCampaign.AddMessage(swrveMessage);
                }
                i++;
            }
            if (swrveMessagesCampaign.Messages.Count == 0)
            {
                swrveMessagesCampaign.LogAndAddReason("Campaign [" + id + "] no messages found, skipping.", qaUser);
            }
            return(swrveMessagesCampaign);
        }
        public static SwrveInAppCampaign LoadFromJSON(ISwrveAssetsManager swrveAssetsManager, Dictionary <string, object> campaignData, int id, DateTime initialisedTime, Color?defaultBackgroundColor, List <SwrveQaUserCampaignInfo> qaUserCampaignInfoList)
        {
            SwrveInAppCampaign campaign = new SwrveInAppCampaign(initialisedTime);

            object _messages = null;

            campaignData.TryGetValue("messages", out _messages);
            IList <object> messages = null;

            try {
                messages = (IList <object>)_messages;
            } catch (Exception e) {
                string reason = "Campaign [" + id + "] invalid messages found, skipping.  Error: " + e;
                campaign.LogAndAddReason(reason, false, qaUserCampaignInfoList);
            }

            if (messages == null)
            {
                string reason = "Campaign [" + id + "] JSON messages are null, skipping.";
                campaign.LogAndAddReason(reason, false, qaUserCampaignInfoList);
                return(null);
            }

            for (int k = 0, t = messages.Count; k < t; k++)
            {
                Dictionary <string, object> messageData = (Dictionary <string, object>)messages [k];
                SwrveMessage message = SwrveMessage.LoadFromJSON(swrveAssetsManager, campaign, messageData, defaultBackgroundColor);
                if (message.Formats.Count > 0)
                {
                    campaign.AddMessage(message);
                }
            }
            if (campaign.Messages.Count == 0)
            {
                string reason = "Campaign [" + id + "] no messages found, skipping.";
                campaign.LogAndAddReason(reason, false, qaUserCampaignInfoList);
            }

            return(campaign);
        }
示例#3
0
        new public static SwrveMessagesCampaign LoadFromJSON(SwrveSDK sdk, Dictionary <string, object> campaignData, int id, DateTime initialisedTime, SwrveQAUser qaUser)
        {
            SwrveMessagesCampaign campaign = new SwrveMessagesCampaign(initialisedTime);

            object _messages = null;

            campaignData.TryGetValue("messages", out _messages);
            IList <object> messages = null;

            try {
                messages = (IList <object>)_messages;
            }
            catch (Exception e) {
                campaign.LogAndAddReason("Campaign [" + id + "] invalid messages found, skipping.  Error: " + e, qaUser);
            }

            if (messages == null)
            {
                campaign.LogAndAddReason("Campaign [" + id + "] JSON messages are null, skipping.", qaUser);
                return(null);
            }

            for (int k = 0, t = messages.Count; k < t; k++)
            {
                Dictionary <string, object> messageData = (Dictionary <string, object>)messages [k];
                SwrveMessage message = SwrveMessage.LoadFromJSON(sdk, campaign, messageData);
                if (message.Formats.Count > 0)
                {
                    campaign.AddMessage(message);
                }
            }
            if (campaign.Messages.Count == 0)
            {
                campaign.LogAndAddReason("Campaign [" + id + "] no messages found, skipping.", qaUser);
            }

            return(campaign);
        }