예제 #1
0
        public DataSet envioAnulacion(String xml, String cod)
        {
            String  xmlDoc      = "";
            String  xmlGenerado = "";
            DataSet ds          = new DataSet();

            try
            {
                XMLAnular xMLAnular = new XMLAnular();
                xmlGenerado = xMLAnular.getXML(xml, "", cod);
                ds          = wsSolicitudAnulacion(xmlGenerado, cod, xmlGenerado);
            }
            catch (Exception ex)
            {
                DataSet   dsError = new DataSet();
                DataTable dt      = new DataTable("resultado");
                dt.Columns.Add(new DataColumn("resultado", typeof(string)));

                DataRow dr = dt.NewRow();
                dr["resultado"] = ex.ToString();
                dt.Rows.Add(dr);
                dsError.Tables.Add(dt);
                ds = dsError;
            }
            return(ds);
        }
예제 #2
0
        public DataSet annularDocument(String token, String XMLInvoice, String path, String fac_num)
        {
            try
            {
                XMLInvoice = "<?xml version = \"1.0\" encoding=\"Windows-1252\" standalone=\"yes\"?><VFPData><temp_fact_detail>	<numerodocumentoanular>990005034</numerodocumentoanular><nitemisor>3225607</nitemisor>" +
                             "<idreceptor>34506004</idreceptor><nitcertificadordocumentoanular>50510231</nitcertificadordocumentoanular>	<fechaemisiondocumentoanular>2019-04-03T14:42:00</fechaemisiondocumentoanular>"+
                             "<fechahoraanulacion>2019-04-03T15:13:47</fechahoraanulacion><uuid>71EC0B81-80DD-479B-8462-244ADC1C3698</uuid><motivoanulacion>Anulación de factura</motivoanulacion></temp_fact_detail></VFPData>";
                //VALIDAR QUE NO ESTEN VACIOS LOS  DATOS ENVIADOS
                if (!validateEmply(token, XMLInvoice))
                {
                    return(strreponsexml);
                }


                //SE ENVIA DATOS PARA QUE ARME LA ESTRUCTURA DE XML
                String xmlDoc = xml.getXML(XMLInvoice, path, fac_num);

                //SE ENVIA XML PARA REGISTRAR DOCUMENTO
                XmlDocument register = ws.annularDte(token, xmlDoc);

                //SE VALIDA RESPUESTA DEL SERVICIO
                XmlNodeList resReg   = register.GetElementsByTagName("tipo_respuesta");
                string      errorRes = resReg[0].InnerXml;

                // SI EL SERVICIO RETORNA ERROR SE ARMA LA ESTRUCTURA PARA RESPONDER LOS ERRORES A PROFIT
                if ("1".Equals(errorRes.ToString()))
                {
                    String errorDescp = getError(register);
                    strreponsexml = GetResponseXML(errorDescp, errorRes, this.strreponsexml);
                    return(strreponsexml);
                }

                //SI EL SERVICIO FUE RETORNA EXITOSO RETORNA UUID GENERADO POR EL FIRMADO ELECTRONICO
                XmlNodeList uuidNodo = register.GetElementsByTagName("uuid");
                string      uuid     = uuidNodo[0].InnerXml;
                strreponsexml = GetResponseXML("Transacción Exitosa", uuid, errorRes, this.strreponsexml);

                return(strreponsexml);
            }
            catch (Exception e)
            {
                this.strreponsexml = GetResponseXML("Ha ocurrido una excepción no controlada en el sistema \n " + e.Message, "1", this.strreponsexml);
                return(strreponsexml);
            }
        }