private void GuardarContrasena_Click(object sender, RoutedEventArgs e)
        {
            Generar archivo = new Generar();
            string  usuario;
            string  contrasena;
            string  contrasena2;

            usuario     = txbNuevoUsuario.Text;
            contrasena  = txbNuevaContrasena.Text;
            contrasena2 = txbNuevaContrasena2.Text;
            try
            {
                if (contrasena == contrasena2)
                {
                    if (archivo.Genrar(usuario, contrasena))
                    {
                        MessageBox.Show("Usuario y Contraseña modificado", "Trabajo", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                    else
                    {
                        MessageBox.Show("Usuario y Contraseña no se pudo modificar", "Trabajo", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Las contraseñas no son iguales", "Trabajo", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Error", "Trabajo", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Exemple #2
0
 public AltaCliente(SQLConnector conec, Generar_Modificar_Reserva.Generar genForm)
 {
     InitializeComponent();
     inicializar();
     conexion = conec;
     geneF    = genForm;
 }
Exemple #3
0
 public FormDiagnostico()
 {
     InitializeComponent();
     persona            = new Persona();
     PersonaService     = new PersonaServiceBD(ConfigConnection.connectionString);
     diagnosticoService = new DiagnosticoService(ConfigConnection.connectionString);
     generar            = new Generar();
 }
        public I_Comparable crearAleatorio()
        {
            Generar            random   = new Generar();
            AlumnoMuyEstudioso registro = new AlumnoMuyEstudioso(random.Gen_Nombre(), random.Gen_DNI(), random.Gen_DNI(), random.Gen_Promedio());

            //registro.Calificacion = new Random().Next(1, 10);
            return(registro);
        }
Exemple #5
0
        public static void llenarPersonas(IColeccionable <I_Comparable> coleccion)
        {
            Generar generar = new Generar();

            for (int i = 0; i < 20; i++)
            {
                Persona unaPersona = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
                coleccion.agregar(unaPersona);
            }
        }
Exemple #6
0
        public static void llenarAlumnos(IColeccionable <I_Comparable> coleccion)
        {
            Generar generar = new Generar();

            for (int i = 0; i < 20; i++)
            {
                Alumno unAlumno = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
                coleccion.agregar(unAlumno);
            }
        }
Exemple #7
0
        public static void llenarAlumnos(Coleccionable pila)
        {
            Generar generar = new Generar();

            for (int i = 0; i < 20; i++)
            {
                Alumno unAlumno = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
                pila.agregar((Persona)unAlumno);
            }
        }
Exemple #8
0
        public static void llenarAlumnos(Cola cola)
        {
            Generar generar = new Generar();

            for (int i = 0; i < 20; i++)
            {
                Alumno unAlumno = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
                cola.agregar(unAlumno);
            }
        }
Exemple #9
0
        public static void llenarAlumnosDiccionario(IColeccionable <ClaveValor> coleccion)
        {
            Generar generar = new Generar();

            for (int i = 0; i < 20; i++)
            {
                Alumno unAlumno = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
                ((Diccionario)coleccion).agregar(unAlumno);
            }
        }
Exemple #10
0
 public FormRecetario()
 {
     InitializeComponent();
     generar            = new Generar();
     diagnosticoService = new DiagnosticoService(ConfigConnection.connectionString);
     medicamentoService = new MedicamentoService(ConfigConnection.connectionString);
     posologiaService   = new PosologiaService(ConfigConnection.connectionString);
     persona            = new Persona();
     PersonaService     = new PersonaServiceBD(ConfigConnection.connectionString);
     recetarioService   = new RecetarioService(ConfigConnection.connectionString);
 }
Exemple #11
0
        public void llenarPersonas(Pila pila, Cola cola)
        {
            Generar generar = new Generar();

            for (int i = 0; i < 20; i++)
            {
                Persona unaPersona = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
                pila.agregar(unaPersona);
                cola.agregar(unaPersona);
            }
        }
Exemple #12
0
        public I_Comparable crearAleatorio()
        {
            Generar random = new Generar();

            return(new Alumno(random.Gen_Nombre(), random.Gen_DNI(), random.Gen_DNI(), random.Gen_Promedio()));
        }
Exemple #13
0
        public static void Run(int TipoEstrategia)
        {
            Generar generar  = new Generar();
            Cola    personas = new Cola();
            Pila    alumnos  = new Pila();
            //Hardcodeo Creacion Personas
            Persona p1 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p2 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p3 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p4 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p5 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p6 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p7 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p8 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p9 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());

            //Fin creacion de Personas
            personas.agregar(p1); personas.agregar(p2); personas.agregar(p3); personas.agregar(p4); personas.agregar(p5); personas.agregar(p6);
            personas.agregar(p7); personas.agregar(p8); personas.agregar(p9);

            //Crea Alumnos
            Alumno a1 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a2 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a3 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a4 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a5 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a6 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a7 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a8 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a9 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());

            // Fin crea Alumnos

            alumnos.agregar(a1); alumnos.agregar(a2); alumnos.agregar(a3); alumnos.agregar(a4); alumnos.agregar(a5); alumnos.agregar(a6); alumnos.agregar(a7);
            alumnos.agregar(a8); alumnos.agregar(a9);

            switch (TipoEstrategia)
            {
            case 1:
                break;

            case 2:
                cambioEstrategia(personas, new StratComparacion_DNI());
                cambioEstrategia(alumnos, new StratComparacion_DNI());
                break;

            case 3:
                cambioEstrategia(personas, new StratComparacion_Legajo());
                cambioEstrategia(alumnos, new StratComparacion_Legajo());
                break;

            case 4:
                cambioEstrategia(personas, new StratComparacion_Promedio());
                cambioEstrategia(alumnos, new StratComparacion_Promedio());
                break;
            }
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("\n\tComparamos a1 con a2:");
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("\tsosIgual: " + a1.sosIgual(a2) + "\n" +
                              "\tsosMenor: " + a1.sosMenor(a2) + "\n" +
                              "\tsosMayor: " + a1.sosMayor(a2));
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("\tComparamos a3 con a4:");
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("\tsosIgual: " + a3.sosIgual(a4) + "\n" +
                              "\tsosMenor: " + a3.sosMenor(a4) + "\n" +
                              "\tsosMayor: " + a3.sosMayor(a4));
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("\tComparamos a5 con a6:");
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("\tsosIgual: " + a5.sosIgual(a6) + "\n" +
                              "\tsosMenor: " + a5.sosMenor(a6) + "\n" +
                              "\tsosMayor: " + a5.sosMayor(a6));
            if (!TipoEstrategia.Equals(3) && !TipoEstrategia.Equals(4))
            {
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("\tComparamos p1 con p2:");
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("\tsosIgual: " + p1.sosIgual(p2) + "\n" +
                                  "\tsosMenor: " + p1.sosMenor(p2) + "\n" +
                                  "\tsosMayor: " + p1.sosMayor(p2));
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("\tComparamos p3 con p4:");
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("\tsosIgual: " + p3.sosIgual(p4) + "\n" +
                                  "\tsosMenor: " + p3.sosMenor(p4) + "\n" +
                                  "\tsosMayor: " + p3.sosMayor(p4));
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("\tComparamos p5 con p6:");
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("\tsosIgual: " + p5.sosIgual(p6) + "\n" +
                                  "\tsosMenor: " + p5.sosMenor(p6) + "\n" +
                                  "\tsosMayor: " + p5.sosMayor(p6));
            }
        }
Exemple #14
0
        public void pruebaUnitaria(int TipoEstrategia)
        {
            Generar        generar  = new Generar();
            List <Persona> personas = new List <Persona>();
            List <Alumno>  alumnos  = new List <Alumno>();
            //--------------------- Creacion de algunas Personas
            Persona p1 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p2 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p3 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p4 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p5 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p6 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p7 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p8 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());
            Persona p9 = new Persona(generar.Gen_Nombre(), generar.Gen_DNI());

            //--------------------- Fin de creacion de Personas
            personas.Add(p1); personas.Add(p2); personas.Add(p3); personas.Add(p4); personas.Add(p5); personas.Add(p6);
            personas.Add(p7); personas.Add(p8); personas.Add(p9);

            //--------------------- Creacion de algunas Alumnos
            Alumno a1 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a2 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a3 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a4 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a5 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a6 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a7 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a8 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());
            Alumno a9 = new Alumno(generar.Gen_Nombre(), generar.Gen_DNI(), generar.Gen_Legajo(), generar.Gen_Promedio());

            //--------------------- Fin de creacion de Alumnos

            alumnos.Add(a1); alumnos.Add(a2); alumnos.Add(a3); alumnos.Add(a4); alumnos.Add(a5); alumnos.Add(a6); alumnos.Add(a7);
            alumnos.Add(a8); alumnos.Add(a9);

            switch (TipoEstrategia)
            {
            case 1:
                break;

            case 2:
                cambioEstrategia(personas, new StratComparacion_DNI());
                cambioEstrategia(alumnos, new StratComparacion_DNI());
                break;

            case 3:
                cambioEstrategia(personas, new StratComparacion_Legajo());
                cambioEstrategia(alumnos, new StratComparacion_Legajo());
                break;

            case 4:
                cambioEstrategia(personas, new StratComparacion_Promedio());
                cambioEstrategia(alumnos, new StratComparacion_Promedio());
                break;
            }

            Console.WriteLine("Comparamos a1 con a2: \n" +
                              "sosIgual: " + a1.sosIgual(a2) + "\n" +
                              "sosMenor: " + a1.sosMenor(a2) + "\n" +
                              "sosMayor: " + a1.sosMayor(a2) + "\n\n" +
                              "Comparamos a3 con a4: \n" +
                              "sosIgual: " + a3.sosIgual(a4) + "\n" +
                              "sosMenor: " + a3.sosMenor(a4) + "\n" +
                              "sosMayor: " + a3.sosMayor(a4) + "\n\n" +
                              "Comparamos a5 con a6: \n" +
                              "sosIgual: " + a5.sosIgual(a6) + "\n" +
                              "sosMenor: " + a5.sosMenor(a6) + "\n" +
                              "sosMayor: " + a5.sosMayor(a6) + "\n\n"
                              );
            if (!TipoEstrategia.Equals(3) && !TipoEstrategia.Equals(4))
            {
                Console.WriteLine("Comparamos p1 con p2: \n" +
                                  "sosIgual: " + p1.sosIgual(p2) + "\n" +
                                  "sosMenor: " + p1.sosMenor(p2) + "\n" +
                                  "sosMayor: " + p1.sosMayor(p2) + "\n\n" +
                                  "Comparamos p3 con p4: \n" +
                                  "sosIgual: " + p3.sosIgual(p4) + "\n" +
                                  "sosMenor: " + p3.sosMenor(p4) + "\n" +
                                  "sosMayor: " + p3.sosMayor(p4) + "\n\n" +
                                  "Comparamos p5 con p6: \n" +
                                  "sosIgual: " + p5.sosIgual(p6) + "\n" +
                                  "sosMenor: " + p5.sosMenor(p6) + "\n" +
                                  "sosMayor: " + p5.sosMayor(p6) + "\n\n"
                                  );
            }
        }
Exemple #15
0
        public bool GuardarBoleta(BoletaBe registro)
        {
            var cookieSS = Request.Headers.GetCookies("ss").FirstOrDefault();
            var user     = JsonConvert.DeserializeObject <dynamic>(cookieSS["ss"].Value);

            int?     boletaId = null, nroComprobante = null;
            DateTime?fechaHoraEmision     = null;
            string   totalImporteEnLetras = null;
            bool     respuesta            = boletaBl.GuardarBoleta(registro, out boletaId, out nroComprobante, out fechaHoraEmision, out totalImporteEnLetras);

            if (respuesta)
            {
                try
                {
                    if (boletaId.HasValue)
                    {
                        registro.BoletaId = boletaId.Value;
                    }
                    if (fechaHoraEmision.HasValue)
                    {
                        registro.FechaHoraEmision = fechaHoraEmision.Value;
                    }
                    if (nroComprobante.HasValue)
                    {
                        registro.NroComprobante = nroComprobante.Value;
                    }
                    if (totalImporteEnLetras != null)
                    {
                        registro.ImporteTotalEnLetras = totalImporteEnLetras;
                    }

                    int empresaId = user.Usuario.Empresa.EmpresaId;

                    registro.Empresa = empresaBl.ObtenerEmpresa(empresaId, withUbigeo: true, withConfiguracion: true);

                    List <ColumnasEmpresaImagen> columnasEmpresaImgen = new List <ColumnasEmpresaImagen> {
                        ColumnasEmpresaImagen.LogoFormatoTipoContenido, ColumnasEmpresaImagen.LogoFormato
                    };

                    var empresaImagen = empresaImagenBl.ObtenerDinamico(empresaId, columnasEmpresaImgen);

                    registro.LogoFormatoBase64 = $"data:${empresaImagen.LogoFormatoTipoContenido};base64,{Convert.ToBase64String(empresaImagen.LogoFormato)}";

                    string rucSOL           = registro.Empresa.EmpresaConfiguracion.EmpresaAmbienteSunat.RucSOL;
                    string usuarioSOL       = registro.Empresa.EmpresaConfiguracion.EmpresaAmbienteSunat.UsuarioSOL;
                    string claveSOL         = registro.Empresa.EmpresaConfiguracion.EmpresaAmbienteSunat.ClaveSOL;
                    string rutaCertificado  = registro.Empresa.EmpresaConfiguracion.RutaCertificado.Replace(@"~\", AppDomain.CurrentDomain.BaseDirectory);
                    string claveCertificado = registro.Empresa.EmpresaConfiguracion.ClaveCertificado;

                    //string rucSOL = AppSettings.Get<string>("Sunat.RucSOL");
                    //string usuarioSOL = AppSettings.Get<string>("Sunat.UsuarioSOL");
                    //string claveSOL = AppSettings.Get<string>("Sunat.ClaveSOL");
                    //string rutaCertificado = AppSettings.Get<string>("Sunat.RutaCertificado").Replace(@"~\", AppDomain.CurrentDomain.BaseDirectory);
                    //string claveCertificado = AppSettings.Get<string>("Sunat.ClaveCertificado");

                    InvoiceType invoiceType = ComprobanteSunat.ObtenerComprobante(registro, ComprobanteSunat.VersionUBL._2_1);

                    string contenidoXml        = Generar.GenerarXML(invoiceType);
                    string hash                = null;
                    string contenidoXmlFirmado = Generar.RetornarXmlFirmado("/tns:Invoice", "urn:oasis:names:specification:ubl:schema:xsd:Invoice-2", contenidoXml, rutaCertificado, claveCertificado, out hash);
                    registro.Hash = hash;

                    var qr = Generar.GenerarQR(registro.Empresa.Ruc, TipoComprobante.Boleta.GetAttributeOfType <DefaultValueAttribute>().Value.ToString(), registro.Serie.Serial, registro.NroComprobante, registro.FechaHoraEmision, registro.Cliente.TipoDocumentoIdentidad.Codigo, registro.Cliente.NroDocumentoIdentidad, registro.TotalIgv, registro.ImporteTotal, registro.Hash);
                    registro.QRBase64 = $"data:image/png;base64,{Convert.ToBase64String(qr)}";

                    var formato = formatoBl.Obtener(registro.FormatoId.Value);

                    string registroJsonString = JsonConvert.SerializeObject(registro);

                    string html = formato.Html
                                  .Replace("[LOGO]", registro.LogoFormatoBase64)
                                  .Replace("[RUC_EMPRESA]", registro.Empresa.Ruc)
                                  .Replace("[SERIE]", registro.Serie.Serial)
                                  .Replace("[NUMERO]", registro.NroComprobante.ToString("00000000"))
                                  .Replace("[RAZON_SOCIAL]", registro.Cliente.RazonSocial)
                                  .Replace("[FECHA_EMISION]", registro.FechaHoraEmision.ToString("dd/MM/yyyy"))
                                  .Replace("[RUC]", registro.Cliente.NroDocumentoIdentidad)
                                  .Replace("[DIRECCION]", registro.Cliente.Direccion)
                                  .Replace("[FECHA_VENCIMIENTO]", registro.FechaVencimiento == null ? "" : registro.FechaVencimiento.Value.ToString("dd/MM/yyyy"))
                                  .Replace("[CONDICION_PAGO]", registro.FormaPago.Descripcion)
                                  .Replace("[ORDEN_COMPRA]", registro.ListaBoletaOrdenCompraStr)
                                  .Replace("[MONEDA]", registro.Moneda.Nombre)
                                  .Replace("[DETALLE]", string.Join(Environment.NewLine, registro.ListaBoletaDetalle.Select(x => $"<li class='data row'><span class='text-center'>{x.Fila}</span><span class='text-right'>{x.Cantidad}</span><span>{x.UnidadMedida.Descripcion}</span><span>{x.Descripcion}</span><span class='text-right'>{x.ValorUnitario:0.00}</span><span class='text-right'>{x.Descuento:0.00}</span><span class='text-right'>{x.ValorVenta:0.00}</span><span class='text-right'>{x.PrecioUnitario:0.00}</span><span class='text-right'>{x.PrecioVenta:0.00}</span></li>").ToArray()))
                                  .Replace("[SIMBOLO_MONEDA]", registro.Moneda.Simbolo)
                                  .Replace("[TOTAL_GRAVADO]", registro.TotalGravado.ToString("0.00"))
                                  .Replace("[TOTAL_INAFECTO]", registro.TotalInafecto.ToString("0.00"))
                                  .Replace("[TOTAL_EXONERADO]", registro.TotalExonerado.ToString("0.00"))
                                  .Replace("[TOTAL_GRATUITO]", registro.TotalGratuito.ToString("0.00"))
                                  .Replace("[TOTAL_DESCUENTO]", registro.TotalDescuentos.ToString("0.00"))
                                  .Replace("[TOTAL_IGV]", registro.TotalIgv.ToString("0.00"))
                                  .Replace("[TOTAL_ISC]", registro.TotalIsc.ToString("0.00"))
                                  .Replace("[TOTAL_OTROSCARGOS]", registro.TotalOtrosCargos.ToString("0.00"))
                                  .Replace("[TOTAL_OTROSTRIBUTOS]", registro.TotalOtrosTributos.ToString("0.00"))
                                  .Replace("[TOTAL_IMPORTETOTAL]", registro.ImporteTotal.ToString("0.00"))
                                  .Replace("[BENEFICIARIO]", registro.Empresa.RazonSocial)
                                  .Replace("[CUENTA_CORRIENTE]", registro.Empresa.EmpresaConfiguracion.CuentaCorriente)
                                  .Replace("[COMENTARIO_LEGAL]", registro.Empresa.EmpresaConfiguracion.ComentarioLegal)
                                  .Replace("[OBSERVACIONES]", registro.Observacion)
                                  .Replace("[LETRAS_MONTOAPAGAR]", registro.ImporteTotalEnLetras)
                                  .Replace("[TOTAL_MONTOAPAGAR]", registro.ImporteTotal.ToString("0.00"))
                                  .Replace("[QR]", registro.QRBase64);
                    //.Replace("[DATA]", registroJsonString);
                    byte[] contenidoPdfBytes = ut.HtmlToPdf.GetSelectPdf(html, PdfPageSize.A4);
                    //byte[] contenidoPdfBytes = ut.HtmlToPdf.GenerarPDF(html);

                    //byte[] contenidoXmlFirmadoBytes = Convert.FromBase64String(contenidoXmlFirmado);
                    //byte[] contenidoXmlFirmadoBytes = Encoding.UTF8.GetBytes(contenidoXmlFirmado);
                    string nombreArchivo    = $"{registro.Empresa.Ruc}-{TipoComprobante.Boleta.GetAttributeOfType<DefaultValueAttribute>().Value}-{registro.Serie.Serial}-{registro.NroComprobante}";
                    string nombreArchivoXml = $"{nombreArchivo}.xml";
                    string nombreArchivoPdf = $"{nombreArchivo}.pdf";
                    string nombreArchivoZip = $"{nombreArchivo}.zip";
                    string nombreArchivoCdr = $"R-{nombreArchivo}.zip";
                    //byte[] contenidoZipBytes = Generar.RetornarXmlComprimido(contenidoXmlFirmadoBytes, nombreArchivoXml);
                    byte[] contenidoZipBytes = Generar.RetornarXmlComprimido(contenidoXmlFirmado, nombreArchivoXml);
                    string rutaCarpetaSunatComprobantesBase = AppSettings.Get <string>("Empresa.Almacenamiento.Sunat.Comprobantes");
                    string rutaCarpetaSunatComprobantes     = rutaCarpetaSunatComprobantesBase
                                                              .Replace(@"~\", AppDomain.CurrentDomain.BaseDirectory)
                                                              .Replace("{Ruc}", registro.Empresa.Ruc)
                                                              .Replace("{AmbienteSunat}", registro.Empresa.EmpresaConfiguracion.EmpresaAmbienteSunat.AmbienteSunat.Nombre)
                                                              .Replace("{TipoComprobante}", TipoComprobante.Boleta.GetAttributeOfType <DefaultValueAttribute>().Value.ToString())
                                                              .Replace("{Comprobante}", $"{registro.Serie.Serial}-{registro.NroComprobante}");
                    string rutaArchivoXml = Path.Combine(rutaCarpetaSunatComprobantes, nombreArchivoXml);
                    string rutaArchivoCdr = Path.Combine(rutaCarpetaSunatComprobantes, nombreArchivoCdr);
                    string rutaArchivoPdf = Path.Combine(rutaCarpetaSunatComprobantes, nombreArchivoPdf);

                    bool existeCarpeta = Directory.Exists(rutaCarpetaSunatComprobantes);

                    if (!existeCarpeta)
                    {
                        Directory.CreateDirectory(rutaCarpetaSunatComprobantes);
                    }
                    File.WriteAllText(rutaArchivoXml, contenidoXmlFirmado);
                    //File.WriteAllBytes(rutaArchivoXml, contenidoXmlFirmadoBytes);
                    File.WriteAllBytes(rutaArchivoPdf, contenidoPdfBytes);

                    string    codigoCdr = null, descripcionCdr = null;
                    EstadoCdr?estadoCdr = null;
                    byte[]    cdrBytes  = null;
                    bool      seEmitio  = emitir.Venta(registro.Empresa.EmpresaConfiguracion.EmpresaAmbienteSunat.AmbienteSunat.ServicioWebUrlVenta, nombreArchivoZip, contenidoZipBytes, rucSOL, usuarioSOL, claveSOL, out cdrBytes, out codigoCdr, out descripcionCdr, out estadoCdr);

                    if (cdrBytes != null)
                    {
                        File.WriteAllBytes(rutaArchivoCdr, cdrBytes);
                    }

                    registro.CodigoRespuestaSunat      = codigoCdr;
                    registro.DescripcionRespuestaSunat = descripcionCdr;
                    registro.EstadoIdRespuestaSunat    = estadoCdr.HasValue ? (int?)estadoCdr.Value : null;
                    registro.RutaXml = rutaArchivoXml;
                    registro.RutaCdr = rutaArchivoCdr;

                    bool seGuardoRespuestaSunat = boletaBl.GuardarRespuestaSunatBoleta(registro);
                }
                catch (Exception ex)
                {
                    string rutaLog = AppSettings.Get <string>("Log.Ruta")
                                     .Replace("~", AppDomain.CurrentDomain.BaseDirectory)
                                     .Replace("{Fecha}", DateTime.Now.ToString("yyyy-MM-dd_hh-mm-ss"));

                    string[] errors = new string[] { "Message: " + ex.Message, "StackTrace: " + ex.StackTrace };

                    File.WriteAllText(rutaLog, string.Join(Environment.NewLine, errors));
                }
            }
            return(respuesta);
        }