public bool CheckVoucherStatus(PurchaseXMLDTO lObjPurchaseXML) { try { var pacConfDTO = new PurchaseXmlService().GetConfigurationPac(); var mObjTimbradorp = new servTim.PadeTimbradoServiceClient(); var resultXML = mObjTimbradorp.consultarEstatusComprobante(pacConfDTO.Contract, pacConfDTO.User, pacConfDTO.Pass, lObjPurchaseXML.FolioFiscal, lObjPurchaseXML.RFCProvider, lObjPurchaseXML.RFCReceptor, lObjPurchaseXML.Total, null); var statusXML = XDocument.Parse(resultXML) .Document.Descendants("servicioConsultaComprobante") .Select(p => new VoucherStatusDTO { QueryOK = p.Element("consultaOk").Value ?? "", Code = p.Element("codigo").Value ?? "", StatusCode = p.Element("codigoEstatus").Value ?? "", IsCancelable = p.Element("esCancelable").Value ?? "", Status = p.Element("estado").Value ?? "", }).FirstOrDefault(); if (statusXML.QueryOK.Equals("true") && statusXML.Status.Equals("Vigente")) { UIApplication.ShowMessageBox(String.Format("El estado del comprobante se consulto satisfactoriamente: \nFolio Fiscal: {0} \nCodigoEstatus: {1} \nEstado: {2} \nCancelable: {3}\n", lObjPurchaseXML.FolioFiscal, statusXML.StatusCode, statusXML.Status, statusXML.IsCancelable)); return(true); } else { UIApplication.ShowMessageBox(String.Format("Estado del comprobante consultado sin éxito: \nFolio Fiscal: {0} \nCodigoEstatus: {1} \nEstado: {2}\n", lObjPurchaseXML.FolioFiscal, statusXML.StatusCode, statusXML.Status)); } } catch (Exception ex) { LogService.WriteError("(CheckVoucherStatus): " + ex.Message + "," + ex.StackTrace); LogService.WriteError(ex); UIApplication.ShowMessageBox("Problemas al consultar el estado del comprobante: " + ex.Message); } return(false); }
public void CheckCFDIByUUID() { try { var mObjTimbradorp = new servTim.PadeTimbradoServiceClient(); var lStrCFDI = mObjTimbradorp.cfdiPorUUID("1d3027c6-5c49-11e3-a2a4-109add4fad20", "factugrs", "A123456789$", "9E5B72AA-11F4-4E2E-BAF2-E4D83465784B"); var xmlBase64 = XDocument.Parse(lStrCFDI).Document.Descendants("servicioConsulta").Elements("xmlBase64").FirstOrDefault().Value; var decodedBase64XML = DecodeBase64(xmlBase64); Assert.AreNotEqual(decodedBase64XML, null); Assert.AreNotEqual(decodedBase64XML, String.Empty); Assert.IsTrue(decodedBase64XML.Contains("<?xml")); return; } catch (Exception ex) { Assert.Fail(ex.Message); } }
static void TestXML() { string lStrUri = @"C:\Users\ssandoval\Desktop\Qualisys Saul\PROJECTS\Union Ganadera\Compras\XML Enero- Feb"; DirectoryInfo d = new DirectoryInfo(lStrUri); //Assuming Test is your Folder FileInfo[] Files = d.GetFiles("*.xml"); //Getting Text files DateTime mDblTimeGEneral = DateTime.Now; int i = 0; int Correcto = 0; int incorrecto = 0; foreach (FileInfo file in Files.Skip(1).Take(1)) { DateTime mDblTime = DateTime.Now; LogService.WriteInfo(i + " de " + Files.Length + "Leyendo archivo" + file.Name); UGRS.AddOn.Purchases.Services.ReadXMLService lObjReadXML = new Services.ReadXMLService(); UGRS.Core.SDK.DI.Purchases.DTO.PurchaseXMLDTO lOBj = lObjReadXML.ReadXML(file.FullName); if (lOBj == null || string.IsNullOrEmpty(lOBj.Total)) { LogService.WriteError("Carga fallida" + file.Name); incorrecto++; } else { LogService.WriteSuccess("Lectura correcta"); Correcto++; servTim.PadeTimbradoServiceClient mObjTimbradorp = new servTim.PadeTimbradoServiceClient(); string lStrCFDI = mObjTimbradorp.cfdiPorUUID("1d3027c6-5c49-11e3-a2a4-109add4fad20", "factugrs", "A123456789$", "9E5B72AA-11F4-4E2E-BAF2-E4D83465784B"); } LogService.WriteInfo("Correcto: " + Correcto + " Incorrecto: " + incorrecto); TimeSpan lTmsTime = DateTime.Now - mDblTime; LogService.WriteInfo(lTmsTime.Seconds + "." + lTmsTime.Milliseconds); i++; } TimeSpan lTmsTimeGral = DateTime.Now - mDblTimeGEneral; LogService.WriteInfo(lTmsTimeGral.Seconds + "." + lTmsTimeGral.Milliseconds); }