/// <summary> /// Queries a delivery status. /// </summary> /// <param name="id">Delivery identifier returned previously by send command.</param> /// <returns>Instance with data returned.</returns> public GetDeliveryStatusResponse GetDeliveryStatus(string id) { var data = new Dictionary <string, string>(); data.Add("id", id); ResponseBase response = this.makePetition("getdeliverystatus", data); return(GetDeliveryStatusResponse.CreateInstance(response)); }
/// <summary> /// Creates an instance from a generic response. /// </summary> /// <param name="response">Instancia of generic response.</param> /// <returns>New instance.</returns> internal static GetDeliveryStatusResponse CreateInstance(ResponseBase response) { List <GetDeliveryStatusProblem> problems = null; List <GetDeliveryStatusDelivered> delivered = null; GetDeliveryStatusProblem[] problemsArray = null; GetDeliveryStatusDelivered[] deliveredArray = null; if (response.data.problems != null) { problems = new List <GetDeliveryStatusProblem>(); foreach (dynamic problem in response.data.problems) { var obj = new GetDeliveryStatusProblem() { id = problem.id, contact = problem.contact, error = problem.error, message = problem.message }; problems.Add(obj); } problemsArray = problems.ToArray(); } if (response.data.delivered != null) { delivered = new List <GetDeliveryStatusDelivered>(); foreach (dynamic item in response.data.delivered) { var obj = new GetDeliveryStatusDelivered() { id = item.id, username = item.username, delivered = item.delivered }; delivered.Add(obj); } deliveredArray = delivered.ToArray(); } var resul = new GetDeliveryStatusResponse() { completed = response.data.completed == 1, problems = problemsArray, delivered = deliveredArray }; return(resul); }