public ucProveedores()
        {
            InitializeComponent();
            Capa.BL.Interfaces.IProveedor iProveedor = new Capa.BL.Clases.Proveedor();
            BindingSource bs = new BindingSource();

            bs.DataSource           = iProveedor.listarProveerdor();
            dgvProveedor.DataSource = bs;
            bs.ResetBindings(false);
        }
 private void btn_modificarP_Click(object sender, EventArgs e)
 {
     try
     {
         if (txt_nomPM.Text == "")
         {
             MessageBox.Show("Ha dejado un campo vacio ");
         }
         else
         {
             String rfc = "";
             rfc = mtb_PM.Text;
             Capa.BL.Interfaces.IProveedor iProveedor   = new Capa.BL.Clases.Proveedor();
             Capa.DATOS.Proveedor          proveedoraux = iProveedor.buscarProveedor(txt_nombrePM.Text);
             Capa.DATOS.Proveedor          proveedor    = new Capa.DATOS.Proveedor
             {
                 idProveedor    = proveedoraux.idProveedor,
                 nombrePro      = txt_nomPM.Text,
                 rfcPro         = rfc,
                 coloniaPro     = txt_colPM.Text,
                 callePro       = txt_callePM.Text,
                 numeroLocalPro = txt_numPM.Text,
                 telefonoPro    = txt_telPM.Text,
                 correoElecPro  = txt_correoPM.Text
             };
             iProveedor.modificarProveedor(proveedor);
             MessageBox.Show("Proveedor modificado");
             txt_nomPM.Enabled    = false;
             mtb_PR.Enabled       = false;
             txt_colPM.Enabled    = false;
             txt_callePM.Enabled  = false;
             txt_numPM.Enabled    = false;
             txt_telPM.Enabled    = false;
             txt_correoPM.Enabled = false;
             txt_nomPM.Text       = "";
             mtb_PR.Text          = "";
             txt_colPM.Text       = "";
             txt_callePM.Text     = "";
             txt_numPM.Text       = "";
             txt_telPM.Text       = "";
             txt_correoPM.Text    = "";
             txt_nombrePM.Text    = "";
             txt_nombrePM.Enabled = true;
             mtb_PM.Enabled       = false;
             mtb_PM.Text          = "";
         }
     }catch (Exception a)
     {
         MessageBox.Show(a.ToString());
     }
 }
 private void btn_buscarPM_Click(object sender, EventArgs e)
 {
     try
     {
         if (txt_nombrePM.Text == "")
         {
             MessageBox.Show("Ha dejado un campo vacio ");
         }
         else
         {
             Capa.BL.Interfaces.IProveedor iProveedor = new Capa.BL.Clases.Proveedor();
             Capa.DATOS.Proveedor          proveedor  = iProveedor.buscarProveedor(txt_nombrePM.Text);
             if (proveedor == null)
             {
                 MessageBox.Show("Proveedor No Encontrado");
                 txt_nomPM.Text    = "";
                 txt_colPM.Text    = "";
                 txt_callePM.Text  = "";
                 txt_numPM.Text    = "";
                 txt_telPM.Text    = "";
                 txt_correoPM.Text = "";
                 mtb_PM.Text       = "";
             }
             else
             {
                 txt_nomPM.Text       = proveedor.nombrePro;
                 txt_colPM.Text       = proveedor.coloniaPro;
                 txt_callePM.Text     = proveedor.callePro;
                 txt_numPM.Text       = proveedor.numeroLocalPro;
                 txt_telPM.Text       = proveedor.telefonoPro;
                 txt_correoPM.Text    = proveedor.correoElecPro;
                 mtb_PM.Text          = proveedor.rfcPro;
                 txt_nomPM.Enabled    = true;
                 txt_colPM.Enabled    = true;
                 txt_callePM.Enabled  = true;
                 txt_numPM.Enabled    = true;
                 txt_telPM.Enabled    = true;
                 txt_correoPM.Enabled = true;
                 mtb_PM.Enabled       = true;
                 txt_nombrePM.Enabled = false;
                 mtb_PM.Enabled       = true;
             }
         }
     }catch (Exception a)
     {
         MessageBox.Show(a.ToString());
     }
 }
Exemplo n.º 4
0
        public int idProveedorBD = 0; //inicializamos nuestra variable que nos servirá para obtener datos de la BD

        //Aquí se establece el contenido del menú con sus respectivas acciones
        public ucOrdenCompra()
        {
            InitializeComponent();//Inicializamos todos los componentes gráficos

            Capa.BL.Interfaces.IMateriales iMateriales = new Capa.BL.Clases.Materiales();
            BindingSource bs = new BindingSource();

            bs.DataSource     = iMateriales.listarMateriales();
            dgv_CM.DataSource = bs;
            bs.ResetBindings(false);

            Capa.DATOS.Proveedor          proveedor  = null;                              //creamos una capa tipo proveedor y la inicializamos
            Capa.BL.Interfaces.IProveedor iproveedor = new Capa.BL.Clases.Proveedor();    //Creamos una capa de interfaz tipo IProveedor
            List <Capa.DATOS.Proveedor>   lista      = iproveedor.listarProveerdor();     //Creamos una lista con nuestro contenido de proveedor en la capa de datos

            for (int i = 0; i < lista.Count; i++)                                         //Iniciamos nuestro ciclo para obtener datos
            {
                proveedor = lista[i];                                                     //Nos guarda todos los proveedores en una lista
                cmb_proveedor.Items.Add(proveedor.nombrePro);                             //Nos añade los proveedores a nuestra lista
            }
            Capa.DATOS.Proyecto          proyecto  = null;                                //Creamos una capa tipo proyecto
            Capa.BL.Interfaces.IProyecto iproyecto = new Capa.BL.Clases.Proyecto();       //Creamos una capa de intergaz tipo IProyecto
            List <Capa.DATOS.Proyecto>   lista2    = iproyecto.listarProyecto();          //Creamos una lista con nuestro contenido de proyecto en la capa de datos

            for (int i = 0; i < lista2.Count; i++)                                        //Iniciamos nuestro ciclo para obtener datos
            {
                proyecto = lista2[i];                                                     //Guarda todos los proyectos en una lista
                cmb_nproyecto.Items.Add(proyecto.nombreProyecto);                         //Nos añade los proyectos a nuestra lista
            }
            Capa.DATOS.Materiales          material    = null;                            //creamos una capa tipo material y la inicializamos
            Capa.BL.Interfaces.IMateriales imateriales = new Capa.BL.Clases.Materiales(); //Creamos una capa de interfaz tipo IProveedor
            List <Capa.DATOS.Materiales>   lista3      = imateriales.listarMateriales();  //Creamos una lista con nuestro contenido de proveedor en la capa de datos

            for (int i = 0; i < lista3.Count; i++)                                        //Iniciamos nuestro ciclo para obtener datos
            {
                material = lista3[i];                                                     //Nos guarda todos los proveedores en una lista
                cmb_concepto.Items.Add(material.nomMateriales);                           //Nos añade los proveedores a nuestra lista
            }
        }
        public ucOrdenServicio()
        {
            InitializeComponent();
            Capa.DATOS.Proveedor          proveedor  = null;
            Capa.BL.Interfaces.IProveedor iproveedor = new Capa.BL.Clases.Proveedor();
            List <Capa.DATOS.Proveedor>   lista      = iproveedor.listarProveerdor();

            for (int i = 0; i < lista.Count; i++)
            {
                proveedor = lista[i];
                cmb_proveedor.Items.Add(proveedor.nombrePro);
            }
            Capa.DATOS.Proyecto          proyecto  = null;
            Capa.BL.Interfaces.IProyecto iproyecto = new Capa.BL.Clases.Proyecto();
            List <Capa.DATOS.Proyecto>   lista2    = iproyecto.listarProyecto();

            for (int i = 0; i < lista2.Count; i++)
            {
                proyecto = lista2[i];
                cmb_nproyecto.Items.Add(proyecto.nombreProyecto);
            }
        }
        private void btn_registrarP_Click(object sender, EventArgs e)
        {
            try
            {
                if (txt_nombrePro.Text == "" || mtb_PR.Text == "" || txt_coloniaPro.Text == "" || txt_callePro.Text == "" || txt_numeroLocalPro.Text == "" || txt_telefonoPro.Text == "" || txt_correoElecPro.Text == "")
                {
                    MessageBox.Show("Ha dejado un campo vacio ");
                }
                else
                {
                    Capa.BL.Interfaces.IProveedor iProveedor = new Capa.BL.Clases.Proveedor();
                    Capa.DATOS.Proveedor          proveedor  = new Capa.DATOS.Proveedor
                    {
                        idProveedor    = 0,
                        nombrePro      = txt_nombrePro.Text,
                        rfcPro         = mtb_PR.Text,
                        coloniaPro     = txt_coloniaPro.Text,
                        callePro       = txt_callePro.Text,
                        numeroLocalPro = txt_numeroLocalPro.Text,
                        telefonoPro    = txt_telefonoPro.Text,
                        correoElecPro  = txt_correoElecPro.Text
                    };
                    iProveedor.insertarProveedor(proveedor);
                    MessageBox.Show("Proveedor registrado");


                    txt_nombrePro.Text      = "";
                    mtb_PR.Text             = "";
                    txt_coloniaPro.Text     = "";
                    txt_callePro.Text       = "";
                    txt_numeroLocalPro.Text = "";
                    txt_telefonoPro.Text    = "";
                    txt_correoElecPro.Text  = "";
                }
            }catch (Exception a)
            {
                MessageBox.Show(a.ToString());
            }
        }
Exemplo n.º 7
0
        private void button1_Click(object sender, EventArgs e)                                                                 //Establecemos lo que hará nuestro botón PDF
        {
            Capa.BL.Interfaces.IProveedor     iProveedor = new Capa.BL.Clases.Proveedor();                                     //Creamos una capa de interfaz IProveedor
            Capa.DATOS.Proveedor              proveedor  = iProveedor.buscarProveedor(cmb_proveedor.SelectedIndex.ToString()); //Creamos una capa de datos para Proveedor
            Capa.BL.Interfaces.IOrdendeCompra iorden     = new Capa.BL.Clases.OrdendeCompra();                                 //Creamos una capa de interfaz para Orden de compra
            Capa.DATOS.OrdendeCompra          orden1     = new Capa.DATOS.OrdendeCompra                                        //Creamos una capa de datos para Orden de compra
            {
                idOrdendeCompra = 0,                                                                                           //Inicializamos el valor de idOrdendeCompra, ya que al ser autoincremental es necesario mandarle una variable aunque esta no la tome
                idProveedor     = idProveedorBD,                                                                               //Le damos valor a nuestro idProveedor que se registrará, tomando como valor el idProveedor de una consulta que hacemos en nuestra BD
                NumProyecto     = Int32.Parse(txt_numeroPOC.Text),                                                             //Obtenemos el número de proyecto del campo de texto numeroPOC
                totalC          = totalGeneral
            };
            iorden.insertarOrdendeCompra(orden1);  //Insertamos los elementos en la orden de compra


            /*
             * try//Iniciamos nuestro try/catch
             * {
             *
             *
             *  Capa.BL.Interfaces.IMateriales imateriales = new Capa.BL.Clases.Materiales();//Creamos nuestra capa de interfaces para IMateriales
             *  Capa.BL.Interfaces.IOrdendeCompra iordendeCompra = new Capa.BL.Clases.OrdendeCompra();//Creamos nuestra capa de interfaces para IOrdendeCompra
             *
             *  Capa.DATOS.OrdendeCompra orden = new Capa.DATOS.OrdendeCompra//Creamos nuestra capa de datos para OrdendeCompra
             *  {
             *      idOrdendeCompra = 1,//Le asignamos valor a nuestra orden de compra, en este caso lo establecemos con un valor por default ya que la BD de igual manera lo hace autoincremental, pero es necesario mandar el parámetro
             *      idProveedor = idProveedorBD,//Le damos valor a nuestro idProveedor que se registrará, tomando como valor el idProveedor de una consulta que hacemos en nuestra BD
             *      NumProyecto = 2,
             *      totalC = 500,
             *      };
             *  iordendeCompra.insertarOrdendeCompra(orden);
             *  Capa.DATOS.Materiales material = new Capa.DATOS.Materiales
             * {
             *
             *
             * };
             */

            List <int>    lst      = new List <int>();                                                                                                                              //Creamos una lista con el nombre lst
            SqlConnection con      = new SqlConnection(@"Data Source=MARTINSOTOPC;Initial Catalog=IngenieriayServiciosIndustriales;Integra" + "ted Security=True");                 //Establecemos el nombre de la conexión y la BD a usar para una consulta
            SqlConnection con2     = new SqlConnection(@"Data Source=MARTINSOTOPC;Initial Catalog=IngenieriayServiciosIndustriales;Integra" + "ted Security=True");                 //Establecemos el nombre de la conexión y la BD a usar para una segunda consulta
            string        consulta = "SELECT idOrdenDeCompra FROM OrdenDeCompra WHERE idOrdenDeCompra = (SELECT MAX(idOrdenDeCompra) FROM OrdenDeCompra) ORDER BY idOrdenDeCompra"; //Establecemos los criterios de nuestra consulta en un string
            SqlCommand    cm1      = new SqlCommand(consulta, con2);                                                                                                                //Realizamos nuestra consulta

            con2.Open();                                                                                                                                                            //abrimos la conexión
            SqlDataReader reader = cm1.ExecuteReader();                                                                                                                             //ejecutamos la consulta

            while (reader.Read())                                                                                                                                                   //Mientras lea datos, va a realizar lo siguiente
            {
                lst.Add(reader.GetInt32(0));                                                                                                                                        //Agrega nuestro valor a la lista, según lo obtenido por la consulta
            }
            reader.Close();                                                                                                                                                         //cierra nuestra lectura del while
            con2.Close();                                                                                                                                                           //cierra la conexión
            string idMaterialBD = "";
            int    valorDB      = lst[0];                                                                                                                                           //inicializamos nuestro valorDB y le asignamos el valor de la posición 0 de nuestra lista

            numOrden = valorDB;
            {
                SqlConnection con5 = new SqlConnection(@"Data Source=MARTINSOTOPC;Initial Catalog=IngenieriayServiciosIndustriales;Integra" + "ted Security=True"); //Establecemos parámetros de conexión
                con5.Open();                                                                                                                                        //Iniciamos la conexión
                string        str = "select * from Materiales where NomMateriales='" + cmb_concepto.Text + "'";                                                     //establecemos el query a ejecutar
                SqlCommand    cmd = new SqlCommand(str, con5);                                                                                                      //Ejecutamos el query en la conexión establecidas
                SqlDataReader dr  = cmd.ExecuteReader();                                                                                                            //Establecemos un datareader, que leerá los datos extraidos de la consulta

                if (dr.Read())                                                                                                                                      //Mientras exista contenido que leer, realizará lo siguiente
                {
                    idMaterialBD = dr["IdMaterial"].ToString();                                                                                                     //Extraemos valor de la BD y lo colocamos en nuestro txt_rfc
                }
            }
            for (int i = 0; i < dgv_materiales.Rows.Count - 1; i++)             //inicia cilo para insertar datos de un DataGridView
            {
                string str  = dgv_materiales.Rows[i].Cells[0].Value.ToString(); //le damos valor al string str de la posición 0 de nuestro DataGridView
                string val2 = dgv_materiales.Rows[i].Cells[1].Value.ToString();
                //int val2 = Convert.ToInt32(dgv_materiales.Rows[i].Cells[1].Value.ToString());//le damos valor al int val2 de la posición 1 de nuestro DataGridView
                string     val3 = dgv_materiales.Rows[i].Cells[2].Value.ToString();                                                                                                                                                           //le damos valor al string val3 de la posición 2 de nuestro DataGridView
                string     val4 = dgv_materiales.Rows[i].Cells[3].Value.ToString();                                                                                                                                                           //le damos valor al string val4 de la posición 3 de nuestro DataGridView
                string     val5 = dgv_materiales.Rows[i].Cells[4].Value.ToString();                                                                                                                                                           //le damos valor al string val5 de la posición 4 de nuestro DataGridView
                SqlCommand cmd  = new SqlCommand(@"INSERT INTO PrecioMateriales (idOrdendeCompra, precio, cantidad, total, idMaterial) VALUES ('" + valorDB + "','" + val4 + "','" + val3 + "','" + val5 + "','" + idMaterialBD + "')", con); //Establecemos nuestro query de insert según los valores obtenidos de nuestro DataGridView
                concepto = concepto + str + "\n";                                                                                                                                                                                             //Concatenamos los materiales para la orden de compra
                unidad2  = unidad2 + val2 + "\n";                                                                                                                                                                                             //Concatenamos las unidad de los materiles para la orden de compra
                cantidad = cantidad + val3 + "\n";                                                                                                                                                                                            //Concatenamos las cantidades de los materiales para la orden de compra
                precio   = precio + val4 + "\n";                                                                                                                                                                                              //Concatenamos el precio de los materiales para la orden de compra
                total    = total + val5 + "\n";                                                                                                                                                                                               //Concatenamos el total de los materiales para la orden de compra
                con.Open();                                                                                                                                                                                                                   //Abrimos nuestra conexión
                cmd.ExecuteNonQuery();                                                                                                                                                                                                        //ejecutamos el query
                con.Close();                                                                                                                                                                                                                  //cerramos conexión
            }

            MessageBox.Show("Orden registrada"); //Mostramos el mensaje de orden registrada
            dgv_materiales.Rows.Clear();         //Limpiamos el DataGridView

            /*
             * }
             * catch (Exception a)
             * {
             *  MessageBox.Show("Error: " + a.ToString());
             * }
             */


            //obtener los datos para el archivo pdf a crear
            rfc        = txt_rfc.Text;
            correo     = txt_correo.Text;
            telefono   = txt_telefono.Text;
            colonia    = txt_colonia.Text;
            calle      = txt_calle.Text;
            numero     = txt_numero.Text;
            numProy    = int.Parse(txt_numeroPOC.Text);
            nombreprov = cmb_proveedor.Text;

            var TEST_OBJECT = new FormatoCompra(numOrden, numProy, nombreprov, rfc, telefono, correo, colonia, calle, numero, concepto, cantidad, unidad2, precio, total, totalGeneral);//Creamos un objeto para el formato de compra que irá al archivo pdf
            // string TEST_PATH = Path.GetTempFileName();
            String nombre    = "OrdenCompra-" + numProy + "-" + numOrden + ".pdf";
            string TEST_PATH = "C:/Users/Ed/Desktop/" + nombre;

            Capa.BL.Helpers.PdfHandler.CrearPDF(TEST_OBJECT, TEST_PATH);

            //Termina Generar Orden
            SmtpClient SmtpServer = new SmtpClient("smtp.live.com");
            var        mail       = new MailMessage();

            mail.From = new MailAddress("*****@*****.**");
            mail.To.Add("*****@*****.**");
            mail.Subject    = "Envio de Orden de Compra";
            mail.IsBodyHtml = true;
            string htmlBody;

            htmlBody        = "Envío de orden de compra generado";
            mail.Body       = htmlBody;
            SmtpServer.Port = 587;
            SmtpServer.UseDefaultCredentials = false;
            SmtpServer.Credentials           = new System.Net.NetworkCredential("*****@*****.**", "Pedroputo1!");
            SmtpServer.EnableSsl             = true;
            mail.Attachments.Add(new Attachment(TEST_PATH));


            try
            {
                SmtpServer.Send(mail);
                MessageBox.Show("Orden de compra enviada con éxito");
            }
            catch (Exception)
            {
                MessageBox.Show("Error al enviar");
            }
        }
        private void btn_generarorden_Click(object sender, EventArgs e)
        {
            Capa.BL.Interfaces.IProveedor       iProveedor = new Capa.BL.Clases.Proveedor();
            Capa.DATOS.Proveedor                proveedor  = iProveedor.buscarProveedor(cmb_proveedor.SelectedIndex.ToString());
            Capa.BL.Interfaces.IOrdendeServicio iorden     = new Capa.BL.Clases.OrdendeServicio();
            Capa.DATOS.OrdendeServicio          orden1     = new Capa.DATOS.OrdendeServicio
            {
                idOrdendeServicio = 0,
                IdProveedor       = idProveedorBD,
                NumProyecto       = Int32.Parse(txt_numproyecto.Text),
                totalS            = totalGeneral
            };
            iorden.insertarOrdendeServicio(orden1);

            for (int i = 0; i < dgv_servicios.RowCount; i++)
            {
            }


            try
            {
                List <int>    lst      = new List <int>();
                SqlConnection con      = new SqlConnection(@"Data Source=MARTINSOTOPC;Initial Catalog=IngenieriayServiciosIndustriales;Integra" + "ted Security=True");
                SqlConnection con2     = new SqlConnection(@"Data Source=MARTINSOTOPC;Initial Catalog=IngenieriayServiciosIndustriales;Integra" + "ted Security=True");
                string        consulta = "SELECT idOrdendeServicio FROM OrdenDeServicio WHERE idOrdendeServicio = (SELECT MAX(idOrdendeServicio) FROM OrdenDeServicio) ORDER BY idOrdendeServicio";
                SqlCommand    cm1      = new SqlCommand(consulta, con2);
                con2.Open();
                SqlDataReader reader = cm1.ExecuteReader();
                while (reader.Read())
                {
                    lst.Add(reader.GetInt32(0));
                }
                reader.Close();
                con2.Close();
                int valorDB = lst[0];
                numOrden = valorDB;
                //int idOrdendeCompra = Convert.ToInt32(consulta);
                for (int i = 0; i < dgv_servicios.Rows.Count - 1; i++)
                {
                    //SqlCommand OrdenCompraBD = new SqlCommand(@"SELECT idOrdenDeCompra FROM OrdenDeCompra WHERE idOrdenDeCompra = (SELECT MAX(idOrdenDeCompra) FROM OrdenDeCompra) ORDER BY idOrdenDeCompra",con);
                    //String aux = OrdenCompraBD.ToString();
                    //int idOrden = int.Parse(aux);
                    string str  = dgv_servicios.Rows[i].Cells[0].Value.ToString();
                    int    val2 = Convert.ToInt32(dgv_servicios.Rows[i].Cells[1].Value.ToString());
                    String val3 = dgv_servicios.Rows[i].Cells[2].Value.ToString();
                    String val4 = dgv_servicios.Rows[i].Cells[3].Value.ToString();
                    //String val1 = dgv_materiales.Rows[i].Cells[0].Value.ToString();
                    //int val2= (int)dgv_materiales.Rows[i].Cells[1].Value;
                    //int val3= (int)dgv_materiales.Rows[i].Cells[2].Value;
                    //int val5 = (int)dgv_materiales.Rows[i].Cells[3].Value;
                    SqlCommand cmd = new SqlCommand(@"INSERT INTO Servicios (NomServicio, Precio, idOrdendeServicio, Unidad) VALUES ('" + str + "','" + val2 + "','" + valorDB + "','" + val3 + "')", con);
                    //SqlCommand cmd = new SqlCommand(@"INSERT INTO Materiales (NomMateriales, CantidadMat, PrecioMat, idOrdenCompra, TotalCant) VALUES ('" + dgv_materiales.Rows[i].Cells[0].Value + "','" + (int)(dgv_materiales.Rows[i].Cells[1].Value) + "','" + (float)dgv_materiales.Rows[i].Cells[2].Value + "','" + idOrdendeCompra + "','" + (float)dgv_materiales.Rows[i].Cells[3].Value + "')", con);
                    concepto = concepto + str + "\n"; //Concatenamos los servicios para la orden de servicio
                    unidad2  = unidad2 + val3 + "\n"; //Concatenamos las unidad de los servicios para la orden de servicio
                    precio   = precio + val2 + "\n";  //Concatenamos el precio de los servicios para la orden de servicio
                    total    = total + val4 + "\n";   //Concatenamos el total de los servicios para la orden de servicio
                    con.Open();
                    cmd.ExecuteNonQuery();
                    con.Close();
                }

                MessageBox.Show("Orden registrada");
                dgv_servicios.Rows.Clear();
            }
            catch (Exception a)
            {
                MessageBox.Show("Error: " + a.ToString());
            }

            rfc        = txt_rfc.Text;
            correo     = txt_correo.Text;
            telefono   = txt_telefono.Text;
            colonia    = txt_colonia.Text;
            calle      = txt_calle.Text;
            numero     = txt_numero.Text;
            numProy    = int.Parse(txt_numproyecto.Text);
            nombreprov = cmb_proveedor.Text;

            var    TEST_OBJECT = new FormatoServicio(numOrden, numProy, nombreprov, rfc, telefono, correo, colonia, calle, numero, concepto, unidad2, precio, total, totalGeneral);//Creamos un objeto para el formato de servicio que irá al archivo pdf
            String nombre      = "OrdenServicio-" + numProy + "-" + numOrden + ".pdf";
            string TEST_PATH   = "C:/Users/Ed/Desktop/" + nombre;

            Capa.BL.Helpers.PdfHandler.CrearPDF(TEST_OBJECT, TEST_PATH);

            SmtpClient SmtpServer = new SmtpClient("smtp.live.com");
            var        mail       = new MailMessage();

            mail.From = new MailAddress("*****@*****.**");
            mail.To.Add("*****@*****.**");
            mail.Subject    = "Envio de Orden de Servicio";
            mail.IsBodyHtml = true;
            string htmlBody;

            htmlBody        = "Envío de orden de servicio generado";
            mail.Body       = htmlBody;
            SmtpServer.Port = 587;
            SmtpServer.UseDefaultCredentials = false;
            SmtpServer.Credentials           = new System.Net.NetworkCredential("*****@*****.**", "Pedroputo1!");
            SmtpServer.EnableSsl             = true;
            mail.Attachments.Add(new Attachment(TEST_PATH));


            try
            {
                SmtpServer.Send(mail);
            }
            catch (Exception)
            {
                MessageBox.Show("Error al enviar");
                MessageBox.Show("Orden de servicio enviada con éxito");
            }
        }//termina Generar Orden