Ejemplo n.º 1
0
        public static VidlyResponse Create(XmlDocument xmlDoc)
        {
            VidlyResponse response = new VidlyResponse();
            response.Message = xmlDoc.DocumentElement.SelectSingleNode("Message").InnerText;
            response.MessageCode = decimal.Parse(xmlDoc.DocumentElement.SelectSingleNode("MessageCode").InnerText);

            XmlNodeList successNodes = xmlDoc.DocumentElement.SelectNodes("Success/MediaShortLink");

            for (int i = 0; i < successNodes.Count; i++)
            {
                XmlNode successNode = successNodes[i];
                MediaShortLink link = new MediaShortLink();

                link.SourceFile = successNode.SelectSingleNode("SourceFile").InnerText;
                link.ShortLink = successNode.SelectSingleNode("ShortLink").InnerText;
                response.Success.Add(link);
            }

            XmlNodeList errorNodes = xmlDoc.DocumentElement.SelectNodes("Errors/Error");

            for (int i = 0; i < errorNodes.Count; i++)
            {
                XmlNode errorNode = errorNodes[i];
                MediaError error = new MediaError();

                XmlNode sourceFileNode = errorNode.SelectSingleNode("SourceFile");
                if (sourceFileNode != null)
                {
                    error.SourceFile = errorNode.SelectSingleNode("SourceFile").InnerText;
                }
                error.ErrorCode = decimal.Parse(errorNode.SelectSingleNode("ErrorCode").InnerText);
                error.Description = errorNode.SelectSingleNode("Description").InnerText;
                error.Suggestion = errorNode.SelectSingleNode("Suggestion").InnerText;
                response.Errors.Add(error);
            }

            return response;
        }
        public static StatusMediaResponse Create(XmlDocument xmlDoc)
        {
            StatusMediaResponse response = new StatusMediaResponse();
            response.Message = xmlDoc.DocumentElement.SelectSingleNode("Message").InnerText;
            response.MessageCode = decimal.Parse(xmlDoc.DocumentElement.SelectSingleNode("MessageCode").InnerText);

            XmlNodeList successNodes = xmlDoc.DocumentElement.SelectNodes("Success/Task");

            for (int i = 0; i < successNodes.Count; i++)
            {
                XmlNode successNode = successNodes[i];
                MediaStatus status = new MediaStatus();

                status.UserID = successNode.SelectSingleNode("UserID").InnerText;
                status.MediaShortLink = successNode.SelectSingleNode("MediaShortLink").InnerText;
                status.SourceFile = successNode.SelectSingleNode("SourceFile").InnerText;
                status.Status = successNode.SelectSingleNode("Status").InnerText;
                status.Created = DateTime.Parse(successNode.SelectSingleNode("Created").InnerText);
                status.Updated = DateTime.Parse(successNode.SelectSingleNode("Updated").InnerText);
                status.UserEmail = successNode.SelectSingleNode("UserEmail").InnerText;

                XmlNode batchNode = successNode.SelectSingleNode("BatchID");
                if (!string.IsNullOrEmpty(batchNode.InnerText))
                {
                    status.BatchID = int.Parse(batchNode.InnerText);
                }

                response.MediaStatus.Add(status);
            }

            XmlNodeList errorNodes = xmlDoc.DocumentElement.SelectNodes("Errors/Error");

            for (int i = 0; i < errorNodes.Count; i++)
            {
                XmlNode errorNode = errorNodes[i];
                MediaError error = new MediaError();

                XmlNode sourceFileNode = errorNode.SelectSingleNode("SourceFile");
                if (sourceFileNode != null)
                {
                    error.SourceFile = errorNode.SelectSingleNode("SourceFile").InnerText;
                }
                error.ErrorCode = decimal.Parse(errorNode.SelectSingleNode("ErrorCode").InnerText);
                error.Description = errorNode.SelectSingleNode("Description").InnerText;
                error.Suggestion = errorNode.SelectSingleNode("Suggestion").InnerText;
                response.Errors.Add(error);
            }

            return response;
        }