예제 #1
0
        /// <summary>
        /// Realiza la generacion de correo electronico.
        /// En este caso se generara un archivo html en la carpeta temporal del sistema.
        /// Se graba un archivo por cada destinatario, no se graban archivos por destinatarios ocultos.
        /// </summary>
        /// <param name="correoElectronico">Ingrese el correo electronico a simular que va a enviar.</param>
        /// <returns></returns>
        public EnumeradoresCorreoElectronico.ResultadoEnvioCorreoElectronico EnviarCorreoElectronico(CorreoElectronico correoElectronico)
        {
            try
            {
                foreach (var item in correoElectronico.Destinatarios)
                {
                    //Preparo el nombre del archivo.
                    var nombreArchivo = Convertidores.FechaAFechaLargaParaArchivo() + " enviado a " + item.CorreoElectronico + ".htm";
                    var carpetaTemp   = Sistema.Windows.ObtenerCarpetaTemporal();
                    carpetaTemp = Carpetas.CombinarDirecciones(carpetaTemp, "DevCity Mailing");
                    carpetaTemp = Carpetas.CombinarDirecciones(carpetaTemp, nombreArchivo);

                    //Por las dudas creo la carpeta.
                    Sistema.SistemaArchivos.Instancia().Carpetas.CrearCarpeta(Carpetas.ObtenerRutaCarpetaDeRutaCompleta(carpetaTemp));

                    //Guardo el archivo.
                    Sistema.SistemaArchivos.Instancia().Archivos.GrabarEnString(carpetaTemp, correoElectronico.CuerpoCorreo);
                }

                return(EnumeradoresCorreoElectronico.ResultadoEnvioCorreoElectronico.Exito);
            }
            catch (Exception)
            {
                return(EnumeradoresCorreoElectronico.ResultadoEnvioCorreoElectronico.ErrorCreandoArchivosMail);
            }
        }
 public bool GuardarTransito(TRANSITO_ACTUALES jsonTransito, string fechaEntrada)
 {
     jsonTransito.FECHA_ENTRADA = Convertidores.DateFromString(fechaEntrada);
     jsonTransito.MAT_CABINA    = jsonTransito.MAT_CABINA.ToUpper();
     jsonTransito.MAT_REMOLQUE  = jsonTransito.MAT_REMOLQUE.ToUpper();
     return(Logic_Transitos.GuardarTransito(jsonTransito));
 }
예제 #3
0
        /// <summary>
        /// Realiza un log de alerta.
        /// </summary>
        /// <param name="mensaje"></param>
        /// <param name="nombreOrigen"></param>
        /// <param name="nombreCarpeta"></param>
        public void LogAlerta(string mensaje, string nombreOrigen, string nombreCarpeta)
        {
            var nombreArchivo = Cadenas.Formatear(FormatoNombreArchivo, Convertidores.FechaParaNombreArchivo(_ahora), nombreCarpeta);
            var mensajeFinal  = Cadenas.Formatear(FormatoRenglon, _ahora.ToString(FormatoFecha, this._cultureInfo), "ALERTA", nombreOrigen, mensaje);

            _sa.Archivos.GrabarEnString(nombreArchivo, mensajeFinal, true);
        }
예제 #4
0
        /// <summary>
        /// Devuelve el resumen hash de la cadena ingresada.
        /// </summary>
        /// <param name="cadena"></param>
        /// <returns></returns>
        public string GenerarHASH(string cadena)
        {
            var algoritmo = new SHA256Managed();

            var bytes = Convertidores.CadenaABytes(cadena);

            return(Convert.ToBase64String(algoritmo.ComputeHash(bytes)));
        }
예제 #5
0
        public void CadenaAStreamTest()
        {
            var actual = Convertidores.CadenaAStream("Homero");

            var retornado = Convertidores.StreamACadena(actual);

            Assert.AreEqual("Homero", retornado);
        }
예제 #6
0
        public void BytesUnicodeACadenaUnicodeTest()
        {
            var prueba = Convertidores.CadenaUnicodeABytes("leo");

            var actual = Convertidores.BytesUnicodeACadenaUnicode(prueba);

            Assert.AreEqual("leo", actual);
        }
예제 #7
0
        public void BytesACadenaTest()
        {
            var prueba = new Byte[] { 108, 101, 111 };

            var actual = Convertidores.BytesACadena(prueba);

            Assert.AreEqual("leo", actual);
        }
예제 #8
0
        public void CadenaUnicodeABytesTest()
        {
            var actual = Convertidores.CadenaUnicodeABytes("leo");

            Assert.AreEqual(108, actual[0]);
            Assert.AreEqual(0, actual[1]);
            Assert.AreEqual(101, actual[2]);
        }
예제 #9
0
        public void FechaAFechaLargaParaArchivoTest()
        {
            var prueba = DateTime.Now;

            var esperado = prueba.ToString("yyyy-MM-dd-hh-mm-ss");

            var actual = Convertidores.FechaAFechaLargaParaArchivo(DateTime.Now);

            Assert.AreEqual(esperado, actual);
        }
예제 #10
0
        public void FechaParaNombreArchivoTest()
        {
            var actual1 = Convertidores.FechaParaNombreArchivo(new DateTime(2015, 01, 09, 10, 25, 36));

            Assert.AreEqual("2015-01-09", actual1);

            var actual2  = Convertidores.FechaParaNombreArchivo();
            var esperado = DateTime.Now.ToString("yyyy-MM-dd");

            Assert.AreEqual(esperado, actual2);
        }
예제 #11
0
        public void BooleanoASiNoTest()
        {
            var verdadera = true;
            var falso     = false;

            var valorRetornoVerdadero = Convertidores.BooleanoASiNo(verdadera);
            var valorRetornoFalso     = Convertidores.BooleanoASiNo(falso);

            Assert.AreEqual("Sí", valorRetornoVerdadero);
            Assert.AreEqual("No", valorRetornoFalso);
        }
        public void Configure(EntityTypeBuilder <Usuario> builder)
        {
            builder.Property(x => x.Estado)
            .HasConversion(Convertidores.ObtenerBoolToStringConverter("inactivo", "activo"));

            builder.Property(X => X.Estado)
            .HasDefaultValue(true);

            builder.HasOne(x => x.Rol)
            .WithMany(x => x.Usuarios)
            .OnDelete(DeleteBehavior.SetNull);
        }
예제 #13
0
        /// <summary>
        /// Transforma un texto en formato xml, y devuelve un objeto representativo.
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="objetoSerializado"></param>
        /// <returns></returns>
        public T Deserealizar <T>(String objetoSerializado)
        {
            if (String.IsNullOrEmpty(objetoSerializado))
            {
                return(default(T));
            }

            var xs = new XmlSerializer(typeof(T));

            var resultado = xs.Deserialize(new MemoryStream(Convertidores.CadenaABytes(objetoSerializado)));

            return((T)resultado);
        }
예제 #14
0
        public void CadenaABooleanoTest()
        {
            var valor1                    = Convertidores.CadenaABooleano("1");
            var valorTrueMinuscula        = Convertidores.CadenaABooleano("true");
            var valorTrueMayusculaInicial = Convertidores.CadenaABooleano("True");
            var valorTrueMayuscula        = Convertidores.CadenaABooleano("TRUE");
            var valorFalse                = Convertidores.CadenaABooleano("Sarasa");

            Assert.AreEqual(true, valor1);
            Assert.AreEqual(true, valorTrueMinuscula);
            Assert.AreEqual(true, valorTrueMayusculaInicial);
            Assert.AreEqual(true, valorTrueMayuscula);
            Assert.AreEqual(false, valorFalse);
        }
예제 #15
0
        /// <summary>
        /// Permite transformar un objeto en texto.
        /// </summary>
        /// <param name="objeto"></param>
        /// <returns></returns>
        public String Serializar(Object objeto)
        {
            if (objeto == null)
            {
                return("");
            }

            var xs = new XmlSerializer(objeto.GetType());

            var s = new System.IO.MemoryStream();

            xs.Serialize(s, objeto);

            return(Convertidores.StreamACadena(s));
        }
        public int GuardarEnHistorico(TRANSITO_ACTUALES jsonTransito, string fechaEntrada)
        {
            jsonTransito.FECHA_ENTRADA = Convertidores.DateFromString(fechaEntrada);
            jsonTransito.MAT_CABINA    = jsonTransito.MAT_CABINA.ToUpper();
            jsonTransito.MAT_REMOLQUE  = jsonTransito.MAT_REMOLQUE.ToUpper();
            bool guardadoEnDB = Logic_Transitos.GuardarTransito(jsonTransito);

            if (guardadoEnDB)
            {
                return(Logic_Transitos.GuardarTransitoEnHistorico(jsonTransito.ID_TRANSITO));
            }
            else
            {
                return(-1);
            }
        }
예제 #17
0
        public void Configure(EntityTypeBuilder <Rol> builder)
        {
            builder.Property(x => x.Estado)
            .HasConversion(Convertidores.ObtenerBoolToStringConverter("inactivo", "activo"));

            builder.Property(X => X.Estado)
            .HasDefaultValue(true);

            builder.HasIndex(x => x.Nombre)
            .IsUnique(true);

            builder.HasData(new Rol()
            {
                RolId = 1, Nombre = "Administrador", Descripcion = "Tiene Acceso a todas las funcionalidades del sistema"
            },
                            new Rol()
            {
                RolId = 2, Nombre = "Usuario Común", Descripcion = "Solo tiene acceso a lectura de datos y a las herramientas de conversión del sistema"
            });
        }
        public void Configure(EntityTypeBuilder <Cliente> builder)
        {
            builder.HasIndex(x => x.NumeroDocumento)
            .IsUnique(true);

            builder.HasIndex(x => x.RUC)
            .IsUnique(true);

            builder.Property(x => x.Estado)
            .HasConversion(Convertidores.ObtenerBoolToStringConverter("inactivo", "activo"));

            builder.Property(x => x.Estado)
            .HasDefaultValue(true);

            var cliente1 = new Cliente()
            {
                ClienteId       = 1,
                PrimerNombre    = "Nelson",
                PrimerApellido  = "Marro",
                TipoDocumento   = "Cedula",
                NumeroDocumento = "1757078579",
                RUC             = "1757078579001"
            };

            var cliente2 = new Cliente()
            {
                ClienteId       = 2,
                PrimerNombre    = "Maria",
                PrimerApellido  = "Pacheco",
                TipoDocumento   = "Cedula",
                NumeroDocumento = "1757078578",
                RUC             = "1757078579002"
            };

            builder.HasData(cliente1, cliente2);
        }
예제 #19
0
        public void CeroALaIzquierdaTest()
        {
            var valorRetorno = Convertidores.CeroALaIzquierda(25, 6);

            Assert.AreEqual("000025", valorRetorno);
        }
예제 #20
0
    public string GenerarTicket(int empresa, string usuario, int cliente, string tipo, decimal monto, int cantidad, string año, string mes, int ticket, string nomEmpresa, string refCliente, string periodo)
    {
        // Crear documento
        Document documento = new Document(iTextSharp.text.PageSize.B6, 0.5f, 0.5f, 0.5f, 0.5f);

        documento.AddTitle("Ticket de Servicio");
        documento.AddCreator("e-Bills");

        string ruta    = HttpContext.Current.Server.MapPath("~/Tickets");
        string archivo = ruta + "\\Ticket_" + empresa.ToString() + "_" + ticket.ToString() + ".pdf";

        //si no existe la carpeta temporal la creamos
        if (!(Directory.Exists(ruta)))
        {
            Directory.CreateDirectory(ruta);
        }

        if (archivo.Trim() != "")
        {
            FileStream file = new FileStream(archivo,
                                             FileMode.OpenOrCreate,
                                             FileAccess.ReadWrite,
                                             FileShare.ReadWrite);
            PdfWriter.GetInstance(documento, file);
            // Abrir documento.
            documento.Open();

            //Insertar logo o imagen
            string rutaLogo                     = "";
            iTextSharp.text.Image logo          = null;
            iTextSharp.text.Font  standardFont  = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 12, iTextSharp.text.Font.BOLD, BaseColor.BLACK);
            iTextSharp.text.Font  standardFont1 = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 10, iTextSharp.text.Font.BOLD, BaseColor.BLACK);
            try
            {
                rutaLogo = HttpContext.Current.Server.MapPath("~/img/Logo.jpg");
                logo     = iTextSharp.text.Image.GetInstance(rutaLogo);
                logo.ScaleToFit(200, 100);
                logo.Alignment = iTextSharp.text.Image.ALIGN_CENTER;
                documento.Add(logo);
                documento.Add(new Paragraph(" "));
                Paragraph titulo = new Paragraph(nomEmpresa, standardFont);
                titulo.Alignment = Element.ALIGN_CENTER;
                documento.Add(new Paragraph(titulo));
            }
            catch (Exception) { }

            Paragraph encabezado = new Paragraph("Av. Huehuetoca s/n esq. Dr. Jiménez Cantú" + Environment.NewLine +
                                                 "Ex Hacienda San Miguel, Cuatitlán Izcalli" + Environment.NewLine +
                                                 "Edo. de Méx. México, C.P. 54715" + Environment.NewLine +
                                                 "Tel. (55) 1676-1723", standardFont1);
            encabezado.Alignment = Element.ALIGN_CENTER;
            documento.Add(encabezado);
            documento.Add(new Paragraph(" "));
            documento.Add(new Paragraph(" "));

            Paragraph numTicket = new Paragraph("Ticket # " + ticket, standardFont1);
            numTicket.Alignment = Element.ALIGN_CENTER;
            documento.Add(numTicket);

            string tdcTitular = "SELECT (nombre_tarjetahabiente +' '+ ap_pat_tarjetahabiente +' '+  ap_mat_tarjetahabiente) AS tdcNombre FROM clientes WHERE referencia=" + refCliente;
            if (tipo == "B")
            {
                tdcTitular = "SELECT tarjeta_habiente FROM bajas_inmediatas WHERE referencia=" + refCliente;
            }
            tdcTitular         = ejecuta.scalarString(tdcTitular);
            fechas.tipoFormato = 4;
            Paragraph impFecha = new Paragraph("Fecha: " + fechas.obtieneFechaLocal() + Environment.NewLine + "Socio # " + refCliente + Environment.NewLine + "TarjetaHabiente: " + tdcTitular, standardFont1);
            impFecha.Alignment = Element.ALIGN_CENTER;
            documento.Add(impFecha);
            Paragraph impAten = new Paragraph("Atendió: " + usuario, standardFont1);
            impAten.Alignment = Element.ALIGN_CENTER;
            documento.Add(impAten);
            documento.Add(new Paragraph(" "));

            generaContenido(documento, cliente, empresa, monto, tipo);

            if (tipo == "A" || tipo == "M" || tipo == "R")
            {
                string strTot = (monto * cantidad).ToString();
                documento.Add(new Paragraph(" "));
                documento.Add(new Paragraph(" "));
                Paragraph ltotal = new Paragraph("Total: " + Convert.ToDecimal(strTot).ToString("C2"), standardFont);
                ltotal.Alignment = Element.ALIGN_CENTER;
                documento.Add(ltotal);
                documento.Add(new Paragraph(" "));
                documento.Add(new Paragraph(" "));

                //importe con letra
                Convertidores conversion = new Convertidores();
                conversion._importe = strTot;
                string    textoLetras  = conversion.convierteMontoEnLetras();
                Paragraph importeLetra = new Paragraph(textoLetras, standardFont);
                importeLetra.Alignment = Element.ALIGN_CENTER;
                documento.Add(importeLetra);
            }

            documento.Add(new Paragraph(" "));
            documento.Add(new Paragraph(" "));
            iTextSharp.text.Font fntPie = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 9, iTextSharp.text.Font.NORMAL, BaseColor.BLACK);
            Paragraph            pie    = new Paragraph("http://www.sportsclubmexico.com" + Environment.NewLine +
                                                        "Siguenos en facebook.com/sportsclubmexico", fntPie);
            pie.Alignment = Element.ALIGN_CENTER;
            documento.Add(pie);


            documento.Close();
        }
        return(archivo);
    }