Ejemplo n.º 1
0
        /// <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));
        }
Ejemplo n.º 2
0
        /// <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);
        }