Пример #1
0
        public string GetURL(string tipoDocumento)
        {
            string            url = string.Empty;
            Data_AccesosSunat data_AccesosSunat = new Data_AccesosSunat(data_Usuario.IdAccesosSunat);

            data_AccesosSunat.Read_AccesosSunat();

            if (tipoDocumento.Equals("09")) // Aquí se debe identificar si es guía de remisión
            {
                if (data_AccesosSunat.UsuarioSol.Equals("MODDATOS"))
                {
                    url = "https://e-beta.sunat.gob.pe/ol-ti-itemision-guia-gem-beta/billService";
                }
                else
                {
                    url = "https://e-guiaremision.sunat.gob.pe/ol-ti-itemision-guia-gem/billService";
                }
            }
            else
            {
                if (data_AccesosSunat.UsuarioSol.Equals("MODDATOS"))
                {
                    url = "https://e-beta.sunat.gob.pe/ol-ti-itcpfegem-beta/billService";
                }
                else
                {
                    url = "https://e-factura.sunat.gob.pe/ol-ti-itcpfegem/billService";
                }
            }
            //https://e-beta.sunat.gob.pe/ol-ti-itcpfegem-beta/billService
            return(url);
        }
Пример #2
0
        public FirmadoRequest Data(int IdEmisor, string tramaXmlSinFirma)
        {
            Data_AccesosSunat data_AccesosSunat = new Data_AccesosSunat(IdEmisor);

            data_AccesosSunat.Read_AccesosSunat();

            string certificado = Convert.ToBase64String(File.ReadAllBytes(data_AccesosSunat.CertificadoDigital));

            var firmadoRequest = new FirmadoRequest()
            {
                TramaXmlSinFirma    = tramaXmlSinFirma,
                CertificadoDigital  = certificado,
                PasswordCertificado = data_AccesosSunat.ClaveCertificado,
                UnSoloNodoExtension = true
            };

            return(firmadoRequest);
        }
Пример #3
0
        public EnviarDocumentoRequest Data(string tramaXmlFirmado, Data_Documentos data_Documento, string endPointUrl)
        {
            Data_AccesosSunat data_AccesosSunat = new Data_AccesosSunat(data_Documento.IdEmisor);

            data_AccesosSunat.Read_AccesosSunat();

            Data_Contribuyente data_Contribuyente = new Data_Contribuyente(data_Documento.IdEmisor);

            data_Contribuyente.Read_Contribuyente();

            var enviarDocumentoRequest = new EnviarDocumentoRequest()
            {
                Ruc             = data_Contribuyente.NroDocumento,
                UsuarioSol      = data_AccesosSunat.UsuarioSol,
                ClaveSol        = data_AccesosSunat.ClaveSol,
                EndPointUrl     = endPointUrl,
                IdDocumento     = data_Documento.SerieCorrelativo,
                TipoDocumento   = data_Documento.TipoDocumento,
                TramaXmlFirmado = tramaXmlFirmado
            };

            return(enviarDocumentoRequest);
        }
Пример #4
0
        private void btnGuardar_Click(object sender, RoutedEventArgs e)
        {
            if (!string.IsNullOrEmpty(txtCertificadoDigital.Text.ToString().Trim()) && !string.IsNullOrEmpty(txtCertificadoDigitalClave.Password.ToString().Trim()) &&
                !string.IsNullOrEmpty(txtUsuarioSol.Text.ToString().Trim()) && !string.IsNullOrEmpty(txtClaveSol.Password.ToString().Trim()))
            {
                string claveSol           = string.Empty;
                string usuarioSol         = string.Empty;
                string certificadoDigital = string.Empty;
                if (txtUsuarioSol.Text.ToString().Trim().ToUpper().Equals("MODDATOS"))
                {
                    usuarioSol = txtUsuarioSol.Text.ToString().Trim().ToUpper();
                    claveSol   = txtClaveSol.Password.ToString().Trim().ToUpper();
                }
                else
                {
                    usuarioSol = txtUsuarioSol.Text.ToString().Trim();
                    claveSol   = txtClaveSol.Password.ToString().Trim();
                }

                bool errorCertificado = false;
                try
                {
                    certificadoDigital = Convert.ToBase64String(File.ReadAllBytes(txtCertificadoDigital.Text.ToString().Trim()));
                }
                catch (Exception)
                {
                    MessageBox.Show("No se puede leer el certificado digital.", "Archivo irreconosible", MessageBoxButton.OK, MessageBoxImage.Information);
                    errorCertificado = true;
                }

                if (errorCertificado == false)
                {
                    Data_AccesosSunat data_AccesosSunat = new Data_AccesosSunat(IdEmisor)
                    {
                        CertificadoDigital = certificadoDigital,
                        ClaveCertificado   = txtCertificadoDigitalClave.Password.ToString().Trim(),
                        UsuarioSol         = usuarioSol,
                        ClaveSol           = claveSol,
                        IdDatosFox         = Id_DatosFox,
                        IdUsuario          = data_Usuario.IdUsuario
                    };

                    if (data_AccesosSunat.Create_AccesosSunat())
                    {
                        MessageBox.Show("Los datos se han registrado con éxito, para ver los cambios es necesario reiniciar FEICONT.",
                                        "Registro exitoso", MessageBoxButton.OK, MessageBoxImage.Information);
                        try
                        {
                            System.Diagnostics.Process.Start(Application.ResourceAssembly.Location);
                            Application.Current.Shutdown();
                            //System.Windows.Forms.Application.Restart();
                        }
                        catch (Exception)
                        {
                            MessageBox.Show("Tenemos problemas para reiniciar, por favor cierre y vuelva a abrir la aplicación.",
                                            "Es necesario reiniciar la aplicación", MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Ha ocurrido un problema en el registro de datos, contacte con soporte.", "Registro fallido", MessageBoxButton.OK, MessageBoxImage.Error);
                        Data_Log data_Log = new Data_Log()
                        {
                            DetalleError   = $"No se registro el usuario",
                            Comentario     = "Ha ocurrido un problema en el registro de datos",
                            IdUser_Empresa = data_Usuario.IdUser_Empresa
                        };
                        data_Log.Create_Log();
                    }
                }
            }
            else
            {
                MessageBox.Show("Antes de continuar debe rellenar todos los campos.", "Campos en blanco", MessageBoxButton.OK, MessageBoxImage.Exclamation);
            }
        }