コード例 #1
0
            /// <summary>
            /// Recoger la ruta donde se almacena la aplicacion
            /// </summary>
            /// <param name="removeFolder">Folder to remove inclusive the last "\"</param>
            /// <param name="Carpeta">Carpeta deseada dentro del servidor</param>
            /// <returns></returns>
            public string RutaCompleta(string removeFolder, string Carpeta)
            {
                archivos a = new archivos();

                Carpeta      = a.checkCarpeta(Carpeta);
                removeFolder = a.checkCarpeta(removeFolder);
                a            = null;
                return(ApplicationPath + Carpeta.Replace(removeFolder, ""));
            }
コード例 #2
0
            /// <summary>
            /// Borrar el archivo en la ruta seleccionada
            /// </summary>
            /// <param name="removeFolder">Folder to remove inclusive the last "\"</param>
            /// <param name="nombreArchivo"></param>
            /// <param name="carpeta"></param>
            /// <returns></returns>
            public bool borrarArchivo(string removeFolder, string nombreArchivo, string carpeta)
            {
                archivos a = new archivos();

                removeFolder = a.checkCarpeta(removeFolder);
                string strRuta = ApplicationPath +
                                 a.checkCarpeta(carpeta).Replace(removeFolder, "");

                a        = null;
                strRuta += nombreArchivo;

                return(borrarArchivo(strRuta));
            }
コード例 #3
0
            /// <summary>
            /// comprobar que el archivo no existe en la ruta seleccionada
            /// </summary>
            /// <param name="removeFolder">Folder to remove inclusive the last "\"</param>
            /// <param name="nombreArchivo"></param>
            /// <param name="carpeta"></param>
            /// <returns></returns>
            public bool existeFichero(string removeFolder, string nombreArchivo, string carpeta)
            {
                bool bExsiste = false;

                archivos a = new archivos();

                removeFolder = a.checkCarpeta(removeFolder);
                string strRuta = ApplicationPath +
                                 a.checkCarpeta(carpeta).Replace(removeFolder, "") + nombreArchivo;

                bExsiste = a.existeFichero(strRuta);
                a        = null;
                return(bExsiste);
            }
コード例 #4
0
ファイル: imagenes.cs プロジェクト: drualcman/Library
        /// <summary>
        /// Insertar texto dentro de una imagen
        /// </summary>
        /// <param name="file">Nombre imagen original</param>
        /// <param name="folder">Carpeta donde se encuentra y guardara la nueva imagen</param>
        /// <param name="Str_TextOnImage">Texto a incluir</param>
        /// <param name="StringColor">Color del texto</param>
        /// <param name="fuente">tipo de fuente a utilizar</param>
        /// <param name="posicion">posicion dentro de la imagen</param>
        /// <param name="horizontal">alineacion horizontal</param>
        /// <param name="vertical">alineacion vertial</param>
        /// <returns>Devuelve el nombre de la nueva imagen</returns>
        public static Image InsertarTextoImagen(string file, string folder, string Str_TextOnImage, Color StringColor,
                                                Font fuente, Point posicion, StringAlignment horizontal, StringAlignment vertical)
        {
            //creando el objeto de la imagen
            archivos a       = new archivos();
            string   rutaImg = a.checkCarpeta(folder) + file;

            a = null;
            Image bitmap = (Image)Bitmap.FromFile(rutaImg);         // set image
                                                                    //Dibujo la imagen
            Graphics graphicsImage = Graphics.FromImage(bitmap);
            //Establezco la orientación mediante coordenadas
            StringFormat stringformat = new StringFormat();

            stringformat.Alignment     = horizontal;
            stringformat.LineAlignment = vertical;
            Point MiPOS = new Point();

            if (posicion.Y == 0 && posicion.X == 0)
            {
                MiPOS.Y = bitmap.Height - 25;
                MiPOS.X = 175;
            }
            else
            {
                MiPOS = posicion;
            }
            //modificar la imagen
            graphicsImage.DrawString(Str_TextOnImage, fuente, new SolidBrush(StringColor), MiPOS, stringformat);
            graphicsImage.Save();
            return(bitmap);
        }
コード例 #5
0
ファイル: imagenes.cs プロジェクト: drualcman/Library
        /// <summary>
        /// Insertar texto dentro de una imagen
        /// </summary>
        /// <param name="bitmap">Imagen a modificar</param>
        /// <param name="folder">Carpeta donde se encuentra y guardara la nueva imagen</param>
        /// <param name="Str_TextOnImage">Texto a incluir</param>
        /// <param name="StringColor">Color del texto</param>
        /// <param name="fuente">tipo de fuente a utilizar</param>
        /// <param name="posicion">posicion dentro de la imagen</param>
        /// <param name="horizontal">alineacion horizontal</param>
        /// <param name="vertical">alineacion vertial</param>
        /// <returns>Devuelve el nombre de la nueva imagen</returns>
        public static string InsertarTexto(Image bitmap, string folder, string Str_TextOnImage, Color StringColor,
                                           Font fuente, Point posicion, StringAlignment horizontal, StringAlignment vertical)
        {
            //creando el objeto de la imagen
            archivos a       = new archivos();
            string   newFile = a.creaNombreFile(a.checkCarpeta(folder), "jpg", "txt");

            a = null;
            //Dibujo la imagen
            Graphics graphicsImage = Graphics.FromImage(bitmap);
            //Establezco la orientación mediante coordenadas
            StringFormat stringformat = new StringFormat();

            stringformat.Alignment     = horizontal;
            stringformat.LineAlignment = vertical;
            Point MiPOS = new Point();

            if (posicion.Y == 0 && posicion.X == 0)
            {
                MiPOS.Y = bitmap.Height - 25;
                MiPOS.X = 175;
            }
            else
            {
                MiPOS = posicion;
            }
            //modificar la imagen
            graphicsImage.DrawString(Str_TextOnImage, fuente, new SolidBrush(StringColor), MiPOS, stringformat);
            graphicsImage.Save();
            //guardar la nueva imagen
            bitmap.Save(newFile);
            return(newFile);
        }
コード例 #6
0
            /// <summary>
            /// Recoger la ruta donde se almacena la aplicacion
            /// </summary>
            /// <param name="Carpeta">Carpeta deseada dentro del servidor</param>
            /// <returns></returns>
            public string RutaCompleta(string Carpeta)
            {
                archivos a = new archivos();

                Carpeta = a.checkCarpeta(Carpeta);
                a       = null;
                return(ApplicationPath + Carpeta);
            }
コード例 #7
0
            /// <summary>
            /// Borrar el archivo en la ruta seleccionada
            /// </summary>
            /// <param name="nombreArchivo"></param>
            /// <param name="carpeta"></param>
            /// <returns></returns>
            public bool borrarArchivo(string nombreArchivo, string carpeta)
            {
                archivos a       = new archivos();
                string   strRuta = ApplicationPath +
                                   a.checkCarpeta(carpeta);

                a        = null;
                strRuta += nombreArchivo;

                return(borrarArchivo(strRuta));
            }
コード例 #8
0
            /// <summary>
            /// Save file in server. Return the name of file.
            /// </summary>
            /// <param name="removeFolder">Folder to remove inclusive the last "\"</param>
            /// <param name="NombreArchivo">Name of file</param>
            /// <param name="Archivo">File</param>
            /// <param name="HEX">Indica si el archivo esta en formato Hexadecimal</param>
            /// <param name="Carpeta">Folder to save</param>
            /// <param name="NombreDinamico">Generate dinamic name</param>
            /// <returns></returns>
            public string guardaDato(string removeFolder, string NombreArchivo, string Archivo, bool HEX, string Carpeta, bool NombreDinamico = false, string pre = "")
            {
                //string strRuta;
                string   guardar = "";
                archivos a       = new archivos();

                removeFolder = a.checkCarpeta(removeFolder);
                Carpeta      = ApplicationPath + Carpeta.Replace(removeFolder, "");
                guardar      = a.guardaDato(NombreArchivo, Archivo, HEX, Carpeta, NombreDinamico, pre);
                a            = null;
                return(guardar);
            }
コード例 #9
0
ファイル: netUtils.cs プロジェクト: drualcman/Library
            /// <summary>
            /// Función genérica de envío de correo electrónico
            /// </summary>
            /// <param name="eMail">Mail del destinatario. Se admiten varias direccion separadas por ; La ultima tiene que tener ; para saber que esta formateado</param>
            /// <param name="Asunto">Asunto del envio del correo</param>
            /// <param name="cuerpoTexto">Texto que aparecera en el mensaje. Se admite HTML</param>
            /// <param name="empresaRemitente">Nombre de la empresa o persona que envia el mail</param>
            /// <param name="mailRemitente">Mail del remitente (opcional)</param>
            /// <param name="hostSMTP">Servidor de envio</param>
            /// <param name="userName">Nombre de usuario</param>
            /// <param name="userPass">Password de la cuenta</param>
            /// <param name="numDestinatarios">Numero de destinatarios en cada envio. Defecto 50</param>
            /// <param name="IsBodyHtml">Indica si el texto tiene formato HTML</param>
            /// <param name="filename">Nombre del archivo a enviar</param>
            /// <param name="folder">Carpeta para almacenar el archivo. Adminte ; para separar nombres de archivo</param>
            /// <param name="temp">Indicar si el archiv es temporal o debe ser borrado</param>
            /// <param name="enableSsl">Habilitar la seguridad del servidor</param>
            /// <param name="urlFiles">URI que antecede a la carpeta folder para descargar el link del archivo adjunto</param>
            /// <returns>
            /// Devuelve true si el envío ha sido satisfactorio
            /// </returns>
            public bool EnviarMail(string eMail, string Asunto, string cuerpoTexto,
                                   string empresaRemitente, string mailRemitente, string hostSMTP, string userName,
                                   string userPass, string urlFiles, int numDestinatarios = 10, bool IsBodyHtml = false,
                                   string filename = "", string folder = "mails", bool temp = false, bool enableSsl = false)
            {
                bool bResutado = true;

                // preparar el correo en fotmato HTML
                if (eMail != "")
                {
                    // ENVÍO DEL FORMULARIO DE CONTACTO
                    // variables para la gestión del correo
                    MailMessage correo = new MailMessage();
                    SmtpClient  smtp   = new SmtpClient(hostSMTP);
                    // identificación de usuario
                    NetworkCredential userCredentials = new NetworkCredential(userName, userPass);
                    smtp.EnableSsl   = enableSsl;
                    smtp.Credentials = userCredentials;
                    // agregar remitente
                    MailAddress emailRemitente;
                    try
                    {
                        emailRemitente = new MailAddress(mailRemitente, empresaRemitente);
                    }
                    catch
                    {
                        emailRemitente = new MailAddress("*****@*****.**", "DrUalcman API");
                    }
                    correo.From = emailRemitente;
                    correo.ReplyToList.Add(emailRemitente);
                    // agregar el asunto
                    correo.Subject = Asunto;
                    // propiedades del mail
                    correo.Priority   = MailPriority.Normal;
                    correo.IsBodyHtml = IsBodyHtml;

                    ficheros f        = new ficheros();
                    string   fileHTML = string.Empty;
                    //guardar una copia del correo para poner un enlace a la copia HTML del mismo
                    try
                    {
                        fileHTML = f.guardaDato("mail.html", cuerpoTexto, folder, true);
                    }
                    catch
                    {
                        fileHTML = string.Empty;
                    }

                    cuerpoTexto += Environment.NewLine;

                    //comprobar que no tiene un fichero adjunto
                    if (filename != "")
                    {
                        //adjuntar el archivo fisicamente
                        archivos a = new archivos();
                        folder = a.checkCarpeta(folder);

                        //comprobar que no es una lista de archivo
                        string fichero = string.Empty;
                        string folder2 = "~/" + folder;
                        if (filename.IndexOf(";") > 0)
                        {
                            //es una lista de archivos
                            string[] files = filename.Split(';');
                            foreach (string file in files)
                            {
                                if (f.existeFichero(file.Trim(), folder))
                                {
                                    // solo es un archivo
                                    fichero = folder2 + file.Trim();
                                    correo.Attachments.Add(new Attachment(a.GetStreamFile(fichero), System.IO.Path.GetFileName(fichero)));
                                    //
                                    // se elimina el archivo porque no estara bloqueado y era un archivo temporal
                                    //
                                    if (temp == true)
                                    {
                                        f.borrarArchivo(file.Trim(), folder);
                                    }
                                }
                                else
                                {
                                    cuerpoTexto += basicHTML.a(urlFiles + folder.Replace("~", ""), file.Trim()) + Environment.NewLine;
                                }
                            }
                        }
                        else
                        {
                            if (f.existeFichero(filename.Trim(), folder))
                            {
                                // solo es un archivo
                                fichero = folder2 + filename.Trim();
                                correo.Attachments.Add(new Attachment(a.GetStreamFile(fichero), System.IO.Path.GetFileName(fichero)));
                                //
                                // se elimina el archivo porque no estara bloqueado y era un archivo temporal
                                //
                                if (temp == true)
                                {
                                    f.borrarArchivo(filename.Trim(), folder);
                                }
                            }
                            else
                            {
                                cuerpoTexto += basicHTML.a(urlFiles + folder.Replace("~", ""), filename.Trim());
                            }
                        }
                        a = null;
                    }


                    cuerpoTexto += Environment.NewLine;

                    if (!string.IsNullOrEmpty(fileHTML))
                    {
                        if (IsBodyHtml == true)
                        {
                            //insert link
                            cuerpoTexto += basicHTML.a(knowServerURL() + "/mails/" + fileHTML, "If you cannot read the message well click here to read it online", "_blank");
                        }
                        else
                        {
                            //inser texto where is it the file
                            cuerpoTexto += " If you cannot read the message well click here " + knowServerURL() + "/mails/" + fileHTML + " to read it online (copy the link in your Internet browser)";
                        }
                    }

                    // cuerpo del mail
                    correo.Body = cuerpoTexto;

                    //hacer el envio a todas las direcciones encontradas
                    if (eMail.IndexOf(";") > 0)
                    {
                        // extraer las direcciones
                        string[] Direcciones = eMail.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);

                        bool seguimiento;
                        if (eMail.IndexOf("invite.trustpilot.com") < 0)
                        {
                            seguimiento = false;
                        }
                        else
                        {
                            seguimiento = true;
                        }

                        byte s       = 1;
                        bool enviado = false;

                        // recorrer las direcciones para realizar el envio
                        foreach (string item in Direcciones)
                        {
                            if (item != "")
                            {
                                //comprobar que tiene @
                                if (item.IndexOf("@") > 0)
                                {
                                    MailAddress nuevoCorreo = new MailAddress(item);
                                    if (seguimiento)
                                    {
                                        if (s < 2)
                                        {
                                            correo.To.Add(nuevoCorreo);
                                        }
                                        else
                                        {
                                            correo.Bcc.Add(nuevoCorreo);
                                        }
                                    }
                                    else
                                    {
                                        correo.Bcc.Add(nuevoCorreo);
                                    }
                                }

                                if (s >= numDestinatarios)
                                {
                                    try
                                    {
                                        smtp.Send(correo);
                                        enviado = true;
                                    }
                                    catch (Exception ex)
                                    {
                                        string err = ex.ToString();
                                        enviado   = false;
                                        bResutado = false;
                                    }
                                    finally
                                    {
                                        correo.To.Clear();
                                        correo.Bcc.Clear();
                                    }
                                    s = 0;          // reseteamos para volver a enviar a otro grupo de correos
                                }
                                else
                                {
                                    enviado = false;
                                }
                            }
                            s++;
                        }
                        // enviar al resto de destinatarios
                        if (enviado == false)
                        {
                            try
                            {
                                smtp.Send(correo);
                            }
                            catch (Exception ex)
                            {
                                string err = ex.ToString();
                                //string datos = hostSMTP + ";" + userName + ";" + userPass + enableSsl.ToString();
                                //DrSeguridad.reportError(ex,err,datos);

                                bResutado = false;
                            }
                        }
                    }
                    else
                    {
                        // solo hay un destinatario
                        try
                        {
                            //MailAddress nuevoCorreo = new MailAddress(eMail);
                            //correo.To.Add(nuevoCorreo);
                            correo.To.Add(eMail);
                            smtp.Send(correo);
                        }
                        catch (Exception ex)
                        {
                            string err = ex.ToString();
                            //string datos = hostSMTP + ";" + userName + ";" + userPass + enableSsl.ToString();
                            //DrSeguridad.reportError(ex, err, datos);

                            bResutado = false;
                        }
                    }
                    //string datos1 = hostSMTP + ";" + userName + ";" + userPass + enableSsl.ToString();
                    //DrSeguridad.reportError(new Exception("nada"), "error mio",datos1);

                    correo.Dispose();
                    smtp.Dispose();
                }

                return(bResutado);
            }