93 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | |
| using System.Collections.Generic;
 | |
| 
 | |
| namespace AdjustSdk
 | |
| {
 | |
|     public class AdjustEventFailure
 | |
|     {
 | |
|         public string Adid { get; set; }
 | |
|         public string Message { get; set; }
 | |
|         public string Timestamp { get; set; }
 | |
|         public string EventToken { get; set; }
 | |
|         public string CallbackId { get; set; }
 | |
|         public bool WillRetry { get; set; }
 | |
|         public Dictionary<string, object> JsonResponse { get; set; }
 | |
| 
 | |
|         public AdjustEventFailure() {}
 | |
| 
 | |
|         public AdjustEventFailure(Dictionary<string, string> eventFailureDataMap)
 | |
|         {
 | |
|             if (eventFailureDataMap == null)
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             this.Adid = AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyAdid);
 | |
|             this.Message = AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyMessage);
 | |
|             this.Timestamp = AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyTimestamp);
 | |
|             this.EventToken = AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyEventToken);
 | |
|             this.CallbackId = AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyCallbackId);
 | |
| 
 | |
|             bool willRetry;
 | |
|             if (bool.TryParse(AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyWillRetry), out willRetry))
 | |
|             {
 | |
|                 this.WillRetry = willRetry;
 | |
|             }
 | |
| 
 | |
|             string jsonResponseString = AdjustUtils.TryGetValue(eventFailureDataMap, AdjustUtils.KeyJsonResponse);
 | |
|             var jsonResponseNode = JSON.Parse(jsonResponseString);
 | |
|             if (jsonResponseNode != null && jsonResponseNode.AsObject != null)
 | |
|             {
 | |
|                 this.JsonResponse = new Dictionary<string, object>();
 | |
|                 AdjustUtils.WriteJsonResponseDictionary(jsonResponseNode.AsObject, JsonResponse);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public AdjustEventFailure(string jsonString)
 | |
|         {
 | |
|             var jsonNode = JSON.Parse(jsonString);
 | |
|             if (jsonNode == null)
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             this.Adid = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyAdid);
 | |
|             this.Message = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyMessage);
 | |
|             this.Timestamp = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyTimestamp);
 | |
|             this.EventToken = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyEventToken);
 | |
|             this.CallbackId = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCallbackId);
 | |
|             this.WillRetry = Convert.ToBoolean(AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyWillRetry));
 | |
| 
 | |
|             var jsonResponseNode = jsonNode[AdjustUtils.KeyJsonResponse];
 | |
|             if (jsonResponseNode == null)
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
|             if (jsonResponseNode.AsObject == null)
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             this.JsonResponse = new Dictionary<string, object>();
 | |
|             AdjustUtils.WriteJsonResponseDictionary(jsonResponseNode.AsObject, JsonResponse);
 | |
|         }
 | |
| 
 | |
|         public void BuildJsonResponseFromString(string jsonResponseString)
 | |
|         {
 | |
|             var jsonNode = JSON.Parse(jsonResponseString);
 | |
|             if (jsonNode == null)
 | |
|             {
 | |
|                 return;
 | |
|             }
 | |
| 
 | |
|             this.JsonResponse = new Dictionary<string, object>();
 | |
|             AdjustUtils.WriteJsonResponseDictionary(jsonNode.AsObject, JsonResponse);
 | |
|         }
 | |
| 
 | |
|         public string GetJsonResponseAsString()
 | |
|         {
 | |
|             return AdjustUtils.GetJsonResponseCompact(JsonResponse);
 | |
|         }
 | |
|     }
 | |
| }
 |