protected void LogAndAddReason(string reason, bool displayed, List <SwrveQaUserCampaignInfo> qaCampaignInfoList) { if (SwrveQaUser.Instance.loggingEnabled && qaCampaignInfoList != null) { SwrveQaUserCampaignInfo campaignInfo = null; if (this is SwrveConversationCampaign) { SwrveConversationCampaign conversationCampaign = (SwrveConversationCampaign)this; campaignInfo = new SwrveQaUserCampaignInfo(Id, conversationCampaign.Conversation.Id, conversationCampaign.GetCampaignType(), displayed, reason); } else if (this is SwrveInAppCampaign) { SwrveInAppCampaign inAppCampaign = (SwrveInAppCampaign)this; campaignInfo = new SwrveQaUserCampaignInfo(Id, inAppCampaign.Messages[0].Id, inAppCampaign.GetCampaignType(), displayed, reason); } else if (this is SwrveEmbeddedCampaign) { SwrveEmbeddedCampaign embeddedCampaign = (SwrveEmbeddedCampaign)this; campaignInfo = new SwrveQaUserCampaignInfo(Id, embeddedCampaign.Message.Id, embeddedCampaign.GetCampaignType(), displayed, reason); } if (campaignInfo != null) { qaCampaignInfoList.Add(campaignInfo); } } SwrveLog.Log(string.Format("{0} {1}", this, reason)); }