Example #1
0
        /// <summary>
        /// Se genera la cancelacion de los UUID por medio del certificado
        /// </summary>
        /// <param name="Peticion"></param>
        /// <param name="Certificado"></param>
        /// <param name="LlavePrivada"></param>
        /// <param name="ContraseñaCertificado"></param>
        /// <returns></returns>
        public bool CancelarCFDI(CancelarCFDIPeticion Peticion, Stream Certificado, Stream LlavePrivada, string ContraseñaCertificado)
        {
            AdministradorArchivos = new Archivos();

            var arregloCertificado  = AdministradorArchivos.ConvertirStreamToByte(Certificado);
            var arregloLlavePrivada = AdministradorArchivos.ConvertirStreamToByte(LlavePrivada);

            return(CancelarCFDI(Peticion, arregloCertificado, arregloLlavePrivada, ContraseñaCertificado));
        }
Example #2
0
        /// <summary>
        /// Se genera la cancelacion de los UUID por medio del certificado
        /// </summary>
        /// <param name="Peticion"></param>
        /// <param name="RutaCertificado"></param>
        /// <param name="RutaLlavePrivada"></param>
        /// <param name="ContraseñaCertificado"></param>
        /// <returns></returns>
        public bool CancelarCFDI(CancelarCFDIPeticion Peticion, string RutaCertificado, string RutaLlavePrivada, string ContraseñaCertificado)
        {
            AdministradorArchivos = new Archivos();

            var Certificado  = AdministradorArchivos.ConvertirStreamToByte(AdministradorArchivos.Abrir(RutaCertificado));
            var LlavePrivada = AdministradorArchivos.ConvertirStreamToByte(AdministradorArchivos.Abrir(RutaLlavePrivada));

            return(CancelarCFDI(Peticion, Certificado, LlavePrivada, ContraseñaCertificado));
        }
Example #3
0
        public bool CancelarCFDI(CancelarCFDIPeticion Peticion, Byte[] Certificado, Byte[] LlavePrivada, string ContraseñaCertificado)
        {
            #region "Variables"
            MensajeError          = string.Empty;
            Mensaje               = string.Empty;
            Resultado             = false;
            AdministradorArchivos = new Archivos();
            Utilerias utilerias = new Utilerias();

            #endregion "Variables"

            #region "Valores Predeterminados"

            Resultado = utilerias.ValidaRFC(Peticion.RFC);
            if (Resultado == false)
            {
                Mensaje = "Ingrese el RFC correctamente";
                return(false);
            }

            var configuracion = new Configuracion();

            Resultado = configuracion.CargaCertificado(Certificado, LlavePrivada, ContraseñaCertificado, Peticion.RFC);

            if (Resultado == true)
            {
                FacturoPorTi.Api.Cfdi.Seguridad.Certificado certifica = new FacturoPorTi.Api.Cfdi.Seguridad.Certificado();
                Peticion.PFX         = AdministradorArchivos.ConvertirByteToBase64(certifica.GeneraPFX(Certificado, LlavePrivada, ContraseñaCertificado));
                Peticion.PFXPassword = ContraseñaCertificado;
            }
            else
            {
                Mensaje = configuracion.Mensaje;
            }

            #endregion "Valores Predeterminados"

            Resultado = false;
            WebServiceFacturoPorTi Api = new WebServiceFacturoPorTi(SandBox);
            Cancelaciones = Api.ConsumeServicio <CancelarCFDIPeticion, CancelarCFDIRespuesta>("ApiCancelarCFDI", FacturoPorTi.Api.Cfdi.Genericos.TipoVerboHttp.Post, Peticion);

            if (Cancelaciones != null)
            {
                MensajeError = Api.MensajeError;

                if (Cancelaciones.Estatus.Codigo == "000")
                {
                    Resultado = true;
                    Mensaje   = Cancelaciones.Estatus.Descripcion;
                }
                else
                {
                    Mensaje = Cancelaciones.Estatus.Descripcion + Environment.NewLine + Environment.NewLine + Cancelaciones.Estatus.InformacionTecnica;
                }
            }
            else
            {
                MensajeError = Api.MensajeError;
                Mensaje      = "No se pudo realizar la cancelación si el problema persiste comuniquese a [email protected]";
            }

            return(Resultado);
        }