public void GenerarBackupArchivoSerializado(SerializadorRequest serializador, ComprobanteType cabecera)
        {
            String ruta;

            ClasificacionDeComprobantes comprobantes = new ClasificacionDeComprobantes();

            ruta = Directory.GetCurrentDirectory() + "\\Log\\FacturacionElectronica\\" + comprobantes.ObtenerTipoYLetraDeComprobante(cabecera.codigoTipoComprobante) + "_" + cabecera.numeroPuntoVenta.ToString().PadLeft(4, '0') + "_" + cabecera.numeroComprobante.ToString().PadLeft(8, '0') +"_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xml";

            serializador.SerializadorConRuta<ComprobanteType>(cabecera, ruta);
        }
        public void GenerarBackupArchivoSerializado(SerializadorRequest serializador, FECAERequest cabecera)
        {
            String ruta, rutaAux;

            ClasificacionDeComprobantes comprobantes = new ClasificacionDeComprobantes();

            if( cabecera.FeCabReq.CantReg == 1 ){
                rutaAux = cabecera.FeDetReq[0].CbteDesde.ToString().PadLeft(8, '0');
            }else{
                rutaAux = cabecera.FeDetReq[0].CbteDesde.ToString().PadLeft(8, '0') + "-" + cabecera.FeDetReq[cabecera.FeCabReq.CantReg - 1].CbteDesde.ToString().PadLeft(8, '0');
            }
            ruta = Directory.GetCurrentDirectory() + "\\Log\\FacturacionElectronica\\" + comprobantes.ObtenerTipoYLetraDeComprobante(cabecera.FeCabReq.CbteTipo) + "_" + cabecera.FeCabReq.PtoVta.ToString().PadLeft(4, '0') + "_" + rutaAux + "_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xml";

            serializador.SerializadorConRuta<FECAERequest>(cabecera, ruta);
        }
        private CAERespuestaFe SolicitarCAE( FeCabecera cabFe, AuthRequestType aut )
        {
            ComprobanteType comprobante = this.ObtenerCaeRequest( cabFe );

            SerializadorRequest serializador = new SerializadorRequest();
            serializador.Serializar<ComprobanteType>( comprobante );

            ManagerErroresFe managerErrores = new ManagerErroresFe( this.logueador );
            ResultadoSimpleType resultado;
            ComprobanteCAEResponseType caeResponse;
            CodigoDescripcionType[] observaciones = null;
            CodigoDescripcionType[] errores = null;
            CodigoDescripcionType evento;
            resultado = this.wsfe.autorizarComprobante( aut, comprobante, out caeResponse, out observaciones, out errores, out evento );

            if (this.HuboSolicitudesRechazadas( errores ))
            {
                this.GenerarBackupArchivoSerializado(serializador, comprobante);
            }

            managerErrores.CapturarError( errores, cabFe );

            WrapperCaeRespuestaMTXCA wcrm = new WrapperCaeRespuestaMTXCA();

            return wcrm.Convertir( resultado, caeResponse, observaciones, errores );
        }
        private CAERespuestaFex SolicitarCAE( FexCabecera cabFex, ClsFEXAuthRequest aut )
        {
            ClsFEXRequest feCaeRequest = this.ObtenerClsFexRequest( cabFex );

            SerializadorRequest serializador = new SerializadorRequest();
            serializador.Serializar<ClsFEXRequest>( feCaeRequest );

            FEXResponseAuthorize caeResponse = this.wsfex.FEXAuthorize( aut, feCaeRequest );
            ManagerErroresFe managerErrores = new ManagerErroresFe( this.logueador );

            if (this.HuboSolicitudesRechazadas( caeResponse ))
            {
                this.GenerarBackupArchivoSerializado(serializador, feCaeRequest);
            }

            managerErrores.CapturarError(caeResponse.FEXErr, cabFex);

            WrapperCaeRespuestaFex wcrf = new WrapperCaeRespuestaFex();

            return wcrf.Convertir( caeResponse.FEXResultAuth );
        }
        private CAERespuestaFe SolicitarCAE( FeCabecera cabFe, FEAuthRequest aut )
        {
            FECAERequest feCaeRequest = this.ObtenerCaeRequest( cabFe );

            SerializadorRequest serializador = new SerializadorRequest();
            serializador.Serializar<FECAERequest>( feCaeRequest );

            FECAEResponse caeResponse = this.wsfe.FECAESolicitar( aut, feCaeRequest );
            ManagerErroresFe managerErrores = new ManagerErroresFe( this.logueador );

            if (this.HuboSolicitudesRechazadas( caeResponse ))
            {
                this.GenerarBackupArchivoSerializado(serializador, feCaeRequest);
            }

            managerErrores.CapturarError(caeResponse.Errors, cabFe);

            WrapperCaeRespuestaFe wcrf = new WrapperCaeRespuestaFe();

            return wcrf.Convertir( caeResponse );
        }