Пример #1
0
        private void btn_addWork_Click(object sender, EventArgs e)
        {
            //ACUMULAR EN CADENA DEPENDIENDO DE CIERTOS FACTORES, ADEMÁS DE PROHIBIR QUE SE PUEDA INGRESAR IMPRENTA Y PUBLICIDAD
            if (works.Count != 0 && (cbTipoTrab.Text == "Imprenta" || cbTipoTrab.Text == "Publicidad"))
            {
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No puedes agregar imprenta y publicidad teniendo otros tipos selecconaodos", 2);
                mens.ShowDialog();
            }

            else if (works.Count != 0 && (works[works.Count - 1] == "Imprenta" || works[works.Count - 1] == "Publicidad") && (cbTipoTrab.Text != "Imprenta" || cbTipoTrab.Text != "Publicidad"))
            {
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No se puede agregar otro tipo teniendo a imprenta o publicidad", 2);
                mens.ShowDialog();
            }

            else if (works.Count != 0 && works.Contains(cbTipoTrab.Text))
            {
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No se puede elegir dos veces la misma opción", 2);
                mens.ShowDialog();
            }

            else
            {
                works.Add(cbTipoTrab.Text);
                labelwork.Text = string.Join("/", works.ToArray());
            }
        }
Пример #2
0
        public string queryToString(string query)
        {        //NOS TRANSFORMA EL RESULTADO DE UNA QUERY A STRING
            DataTable tabla = new DataTable();


            try
            {
                co.Comando(query);
                tabla.Load(co.Leer);
            }

            catch (Exception)
            {
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No se puede mostrar la información", 3);
                mens.ShowDialog();
            }

            finally
            {
                //if (co != null) co.Cerrar();
            }

            //RETORNA EL RESULTADO DE LA CONSULTA EN STRING
            return(tabla.Rows[0][0].ToString());
        }
Пример #3
0
        public void cargarRedes()
        {
            List <string> listaTipoCuentas;
            //REDES SOCIALES
            string comandoNets = "SELECT NombreRedSocial FROM TipoDeRedSocial;";

            try
            {
                MySqlCommand     cmdSel = new MySqlCommand(comandoNets, connection);
                DataTable        dt     = new DataTable();
                MySqlDataAdapter da     = new MySqlDataAdapter(cmdSel);
                da.Fill(dt);

                listaTipoCuentas = dt.AsEnumerable()
                                   .Select(r => r.Field <string>("NombreRedSocial"))
                                   .ToList();

                cbRedes.DataSource    = listaTipoCuentas;
                cbRedes.SelectedIndex = 0;
            }


            catch (Exception)
            {
                //System.Windows.Forms.MessageBox.Show("No se han podido cargar los tipos de redes sociales");
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No se han podido cargar los tipos de redes sociales", 3);
                mens.ShowDialog();
            }
        }
Пример #4
0
        public void mostrarTipos()
        {
            //TRABAJOS
            string comandoWorks = "SELECT tp.NombreTipo FROM TipoEmpleado AS tp " +
                                  "INNER JOIN Empleado_TipoEmpleado AS tpe ON(tpe.TipoEmpleadoID = tp.ID) " +
                                  "INNER JOIN Empleado AS e ON(tpe.EmpleadoID = e.ID) " +
                                  "WHERE e.ID = " + f1.idOtroForm + "; ";

            try
            {
                MySqlCommand     cmdSel = new MySqlCommand(comandoWorks, connection);
                DataTable        dt     = new DataTable();
                MySqlDataAdapter da     = new MySqlDataAdapter(cmdSel);
                da.Fill(dt);

                works = dt.AsEnumerable()
                        .Select(r => r.Field <string>("NombreTipo"))
                        .ToList();

                labelwork.Text = String.Join("/", works);
            }


            catch (Exception)
            {
                //System.Windows.Forms.MessageBox.Show("No se han podido cargar los tipos de empleo");
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No se han podido cargar los tipos de empleo", 3);
                mens.ShowDialog();
            }
        }
Пример #5
0
        public void buscarEmpleado(string nombreEmpleado)
        {
            //FUNCION PARA BUSCAR AL EMPLEADO DEPENDIENDO DEL NOMBRE QUE SE OBTIENE
            DataTable tabla = new DataTable();

            string query = "SELECT emp.ID AS ID,emp.Nombre as NOMBRE,emp.email as EMAIL," +
                           "t.Telefono as TELEFONO,(DATEDIFF(CURDATE(),emp.FechaNacimiento))DIV 365 as EDAD FROM Empleado as emp " +
                           "INNER JOIN Telefonos as t ON(t.EmpleadoID = emp.ID) " +
                           "WHERE emp.Nombre LIKE @NombreEmpleado GROUP BY NOMBRE;";

            try
            {
                co.Comando(query, "@NombreEmpleado", nombreEmpleado + "%");

                tabla.Load(co.Leer);
            }

            catch (Exception)
            {
                //System.Windows.Forms.MessageBox.Show("No se ha encontrado la información\nPor ende, no se puede mostrar");
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("Error al mostrar la información", 3);
                mens.ShowDialog();
            }

            finally
            {
                //if (co != null) co.Cerrar();
                tablaEmpleados.DataSource = tabla;
            }
        }
Пример #6
0
        private DataTable getEmpleadosInfo()
        {
            //OBTIENE LOS DATOS DEL EMPLEADO GRACIAS A UN DATATABLE
            DataTable dbEmpleados = new DataTable();

            string query = "SELECT emp.ID AS ID,emp.Nombre as NOMBRE,emp.email as EMAIL," +
                           "t.Telefono as TELEFONO,(DATEDIFF(CURDATE(),emp.FechaNacimiento))DIV 365 as EDAD FROM Empleado as emp " +
                           "INNER JOIN Telefonos as t ON(t.EmpleadoID = emp.ID)" +
                           "GROUP BY NOMBRE;";

            try
            {
                //SE EJECUTA EL COMANDO Y SE PASA A LA TABLA CON LEER
                co.Comando(query);

                dbEmpleados.Load(co.Leer);
            }

            catch (Exception)
            {
                //System.Windows.Forms.MessageBox.Show("No se ha encontrado la información\nPor ende, no se puede mostrar");
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("Error al mostrar la información", 3);
                mens.ShowDialog();
            }

            return(dbEmpleados);
        }
Пример #7
0
 private void btnEditar_Click(object sender, EventArgs e)
 {
     if (co.permiso.Equals(co.administrador))
     {
         editar();
     }
     else
     {
         AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No cuenta con los permisos para realizar esta acción", 3);
         mens.ShowDialog();
     }
 }
Пример #8
0
 private void btnAddTelNum_Click(object sender, EventArgs e)
 {
     try
     {
         tels.Rows.Add(tbTel.Text);
         tablaTels.DataSource = tels;
     }
     catch (ArgumentException)
     {
         AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("Ingrese un número de teléfono", 3);
         mens.ShowDialog();
     }
 }
Пример #9
0
 private void agregarEmpleado_Click(object sender, EventArgs e)
 {        //SE ABRE UN NUEVO FORM DE REGISTRO
     if (co.permiso.Equals(co.administrador))
     {
         registroEmpleado form1 = new registroEmpleado(this, co);
         form1.ShowDialog();
     }
     else
     {
         AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No cuenta con los permisos para realizar esta acción", 3);
         mens.ShowDialog();
     }
 }
Пример #10
0
        public void editar()
        {
            try
            {
                idOtroForm = (int)tablaEmpleados[0, tablaEmpleados.CurrentCell.RowIndex].Value;
                id         = (int)tablaEmpleados[0, tablaEmpleados.CurrentCell.RowIndex].Value;
                //if (clickEmpleado)
                {
                    //OBTIENE LOS DATOS DEL EMPLEADO CON CONSULTAS, UTILZANDO LA FUNCION QUERYTOSTRING
                    queryNombre      = "SELECT Nombre FROM Empleado WHERE ID = " + id + ";";
                    queryEmail       = "SELECT email FROM Empleado WHERE ID = " + id + ";";
                    queryCalle       = "SELECT Calle FROM Empleado WHERE ID = " + id + ";";
                    queryColonia     = "SELECT Colonia FROM Empleado WHERE ID = " + id + ";";
                    queryCP          = "SELECT CP FROM Empleado WHERE ID = " + id + ";";
                    queryCiudad      = "SELECT Ciudad FROM Empleado WHERE ID = " + id + ";";
                    queryEstado      = "SELECT Estado FROM Empleado WHERE ID = " + id + ";";
                    queryRFC         = "SELECT RFC FROM Empleado WHERE ID = " + id + ";";
                    queryFN          = "SELECT DATE_FORMAT(FechaNacimiento,'%d/%m/%Y') FROM Empleado WHERE ID = " + id + ";";
                    querySexo        = "SELECT Sexo FROM Empleado WHERE ID = " + id + ";";
                    queryImgEmpleado = "SELECT imagenEmpleado FROM Empleado WHERE ID = " + id + ";";
                    //EL RESULTADO PASA A SER STRING CON LA FUNCION ANTERIORMENTE MENCIONADA Y SE ALMACENA EN UNA VARIABLE STRING
                    nombre     = queryToString(queryNombre);
                    email      = queryToString(queryEmail);
                    calle      = queryToString(queryCalle);
                    colonia    = queryToString(queryColonia);
                    cp         = queryToString(queryCP);
                    ciudad     = queryToString(queryCiudad);
                    estado     = queryToString(queryEstado);
                    rfc        = queryToString(queryRFC);
                    fnac       = queryToString(queryFN);
                    locImgTrab = queryToString(queryImgEmpleado);
                    sexo       = Convert.ToInt32(queryToString(querySexo));

                    //ABRE EL FORM DE EDICION
                    edicionEmpleado form = new edicionEmpleado(this, co);

                    form.ShowDialog();
                }
            }
            catch (NullReferenceException ex)
            {
                //System.Windows.Forms.MessageBox.Show("Seleccione un elemento");
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("Seleccione un elemento", 3);
                mens.ShowDialog();
            }
        }
Пример #11
0
        private void tablaEmpleados_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                idOtroForm = (int)tablaEmpleados[0, tablaEmpleados.CurrentCell.RowIndex].Value;
                id         = (int)tablaEmpleados[0, tablaEmpleados.CurrentCell.RowIndex].Value;
                visualizarSimple();
            }
            catch (Exception eh)
            {
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("Seleccione un elemento", 3);
                mens.ShowDialog();
            }

            /*catch(InvalidCastException ef)
             * {
             *  AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No hay elementos", 3);
             *  mens.ShowDialog();
             * }*/
        }
Пример #12
0
        public string queryToString(string query)
        {        //NOS TRANSFORMA EL RESULTADO DE UNA QUERY A STRING
            DataTable tabla = new DataTable();


            try
            {
                co.Comando(query);
                tabla.Load(co.Leer);
            }

            catch (Exception)
            {
                //System.Windows.Forms.MessageBox.Show("No se ha encontrado la información\nPor ende, no se puede mostrar");
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No se puede mostrar la información", 3);
                mens.ShowDialog();
            }

            //RETORNA EL RESULTADO DE LA CONSULTA EN STRING
            return(tabla.Rows[0][0].ToString());
        }
Пример #13
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            bool   textos    = tbNombre.Text != "" && tbEmail.Text != "" && tbCP.Text != "";
            bool   telefonos = tablaTels.Rows.Count > 1 && tablaTels.Rows != null;
            bool   redes     = tablaRedes.Rows.Count > 1 && tablaRedes.Rows != null;
            bool   worksL    = works.Count >= 1;
            int    IdEmp     = 0;
            string insertDatosEmpleado;
            string destino = "";

            co.Comando("START TRANSACTION;");
            //Se consulta el ID del empleado para poder saber que idetificador tendra la imagen


            //CASO 1: TENER LOS DATOS
            if (textos && telefonos && redes && worksL && hayImagen)
            {
                nombre  = tbNombre.Text;
                email   = tbEmail.Text;
                calle   = tbCalle.Text;
                colonia = tbColonia.Text;
                cp      = Convert.ToInt32(tbCP.Text);
                ciudad  = tbCiudad.Text;
                estado  = tbEstado.Text;
                rfc     = tbRFC.Text;
                int sexo = radioButton1.Checked ? 1 : 0;
                //ADAPTAMOS AL FORMATO
                fechaNac = fechaN.Value.Date.ToString("yyyy-MM-dd");

                insertDatosEmpleado = "CALL insert_Empleado('" + nombre + "','" + email + "','" + calle + "','" + colonia + "'," + cp + ",'" + ciudad + "'," +
                                      "'" + estado + "','" + rfc + "','" + fechaNac + "'," + sexo + ", " + co.sesion + ");";
                try
                {
                    co.Comando(insertDatosEmpleado);

                    co.Comando("SELECT MAX(ID) FROM Empleado;");
                    if (co.LeerRead)
                    {
                        IdEmp = co.Leer.GetInt32(0);
                    }

                    destino = Path.Combine("C:\\Imagenes\\", "imagen" + (IdEmp) + ".jpeg").Replace(@"\", @"\\");

                    co.Comando("UPDATE Empleado SET imagenEmpleado = '" + destino + "' WHERE ID = " + IdEmp + ";");

                    bmp.Save(destino);

                    for (int i = 0; i < tablaTels.Rows.Count - 1; i++)
                    {
                        co.Comando("CALL insert_Telefonos('" + tablaTels.Rows[i].Cells[0].Value + "', " + co.sesion + ")");
                    }

                    for (int i = 0; i < works.Count; i++)
                    {
                        switch (works[i])
                        {
                        case "Diseñador":
                            co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 1 + "," + co.sesion + ");");
                            break;

                        case "Editor":
                            co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 2 + "," + co.sesion + ");");
                            break;

                        case "Fotógrafo":
                            co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 3 + "," + co.sesion + ");");
                            break;

                        case "Maquetador":
                            co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 4 + "," + co.sesion + ");");
                            break;

                        case "Ilustrador":
                            co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 5 + "," + co.sesion + ");");
                            break;

                        case "Imprenta":
                            co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 6 + "," + co.sesion + ");");
                            break;

                        case "Publicidad":
                            co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 7 + "," + co.sesion + ");");
                            break;
                        }
                    }

                    AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("Los datos se guardaron con éxito", 2);
                    mens.ShowDialog();
                    f1.refreshTable();
                    this.Close();

                    //PARA REDES
                    for (int i = 0; i < tablaRedes.Rows.Count - 1; i++)
                    {
                        string selectIDRedes = " SELECT ID FROM TipoDeRedSocial WHERE NombreRedSocial ='" + tablaRedes.Rows[i].Cells[0].Value + "';";

                        idRedes.Add(Convert.ToInt32(queryToString(selectIDRedes)));
                    }


                    for (int i = 0; i < tablaRedes.Rows.Count - 1; i++)
                    {
                        co.Comando("INSERT INTO RedesSociales VALUES" +
                                   "((SELECT MAX(ID) FROM Empleado),'" + tablaRedes.Rows[i].Cells[1].Value + "'," + idRedes[i] + "," + co.sesion + ");");
                    }
                }

                catch (Exception)
                {
                    co.Comando("ROLLBACK;");
                    AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("Algo ha salido mal al guardar los datos del empleado", 3);
                    mens.ShowDialog();
                    this.Close();
                }
            }

            //CASO 2: SIN REDES SOCIALES
            else if (textos && telefonos && redes == false && worksL && hayImagen)
            {
                AppProyectoBD.MessageBox res = new AppProyectoBD.MessageBox("¿Está seguro de que quiere continuar sin redes sociales?", 1);
                res.ShowDialog();
                if (resultado1)
                {
                    nombre  = tbNombre.Text;
                    email   = tbEmail.Text;
                    calle   = tbCalle.Text;
                    colonia = tbColonia.Text;
                    cp      = Convert.ToInt32(tbCP.Text);
                    ciudad  = tbCiudad.Text;
                    estado  = tbEstado.Text;
                    rfc     = tbRFC.Text;
                    int sexo = radioButton1.Checked ? 1 : 0;
                    //ADAPTAMOS AL FORMATO
                    fechaNac = fechaN.Value.Date.ToString("yyyy-MM-dd");

                    insertDatosEmpleado = "CALL insert_Empleado('" + nombre + "','" + email + "','" + calle + "','" + colonia + "'," + cp + ",'" + ciudad + "'," +
                                          "'" + estado + "','" + rfc + "','" + fechaNac + "'," + sexo + ", " + co.sesion + ");";
                    try
                    {
                        co.Comando(insertDatosEmpleado);


                        co.Comando("SELECT MAX(ID) FROM Empleado;");
                        if (co.LeerRead)
                        {
                            IdEmp = co.Leer.GetInt32(0);
                        }


                        destino = Path.Combine("C:\\Imagenes\\", "imagen" + (IdEmp) + ".jpeg").Replace(@"\", @"\\");

                        co.Comando("UPDATE Empleado SET imagenEmpleado = '" + destino + "' WHERE ID = " + IdEmp + ";");

                        bmp.Save(destino);

                        for (int i = 0; i < tablaTels.Rows.Count - 1; i++)
                        {
                            co.Comando("CALL insert_Telefonos('" + tablaTels.Rows[i].Cells[0].Value + "', " + co.sesion + ")");
                        }

                        for (int i = 0; i < works.Count; i++)
                        {
                            switch (works[i])
                            {
                            case "Diseñador":
                                co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 1 + "," + co.sesion + ");");
                                break;

                            case "Editor":
                                co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 2 + "," + co.sesion + ");");
                                break;

                            case "Fotógrafo":
                                co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 3 + "," + co.sesion + ");");
                                break;

                            case "Maquetador":
                                co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 4 + "," + co.sesion + ");");
                                break;

                            case "Ilustrador":
                                co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 5 + "," + co.sesion + ");");
                                break;

                            case "Imprenta":
                                co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 6 + "," + co.sesion + ");");
                                break;

                            case "Publicidad":
                                co.Comando("CALL insert_EmpleadoTipoEmpleado(" + 7 + "," + co.sesion + ");");
                                break;
                            }
                        }

                        AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("El empleado se creó con éxito", 2);
                        mens.ShowDialog();
                        f1.refreshTable();
                        this.Close();
                    }

                    catch (Exception)
                    {
                        co.Comando("ROLLBACK;");
                        AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("Se ha producido un error al crear al empleado", 3);
                        mens.ShowDialog();
                        this.Close();
                    }
                }
            }

            //CASO 3: DATOS INSUFICIENTES
            else
            {
                label1.ForeColor  = System.Drawing.Color.Red;
                label2.ForeColor  = System.Drawing.Color.Red;
                label3.ForeColor  = System.Drawing.Color.Red;
                label5.ForeColor  = System.Drawing.Color.Red;
                label8.ForeColor  = System.Drawing.Color.Red;
                label14.ForeColor = System.Drawing.Color.Red;

                co.Comando("COMMIT;");
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("Llene los datos del usuario mínimos:\n Datos personales (con fotografía), tipo de trabajador y teléfonos", 3);
                mens.ShowDialog();
                resultado1 = false;
            }

            co.Comando("COMMIT;");
        }
Пример #14
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            //VARIABLES BOOLEANAS QUE AYUDAN A COMPROBAR CIERTAS CONDICIONES
            bool   textos    = tbNombre.Text != "" && tbEmail.Text != "" && tbCP.Text != "";
            bool   telefonos = tablaTels.Rows.Count > 1 && tablaTels.Rows != null;
            bool   redes     = tablaRedes.Rows.Count > 1 && tablaRedes.Rows != null;
            bool   worksL    = works.Count >= 1;
            string updateDatosEmpleado;

            // Inicia la transacción
            co.Comando("START TRANSACTION;");
            if (cambioFoto)
            {
                imgTrabajador1Loc = Path.Combine("C:\\Imagenes\\", "imagen" + (f1.idOtroForm) + ".jpeg").Replace(@"\", @"\\");
            }

            else
            {
                co.Comando("SELECT imagenEmpleado FROM Empleado WHERE ID = " + f1.idOtroForm + ";");
                if (co.LeerRead)
                {
                    imgTrabajador1Loc = co.Leer.GetString(0);
                    imgTrabajador1Loc.Replace(@"\", @"\\");
                }
            }


            //CASO 1: TENER LOS DATOS
            if (textos && telefonos && redes && worksL)
            {
                nombre  = tbNombre.Text;
                email   = tbEmail.Text;
                calle   = tbCalle.Text;
                colonia = tbColonia.Text;
                cp      = Convert.ToInt32(tbCP.Text);
                ciudad  = tbCiudad.Text;
                estado  = tbEstado.Text;
                rfc     = tbRFC.Text;
                int sexo = radioButton1.Checked ? 1 : 0;

                //ADAPTAMOS AL FORMATO
                fechaNac = fechaN.Value.Date.ToString("yyyy-MM-dd");

                updateDatosEmpleado = "CALL update_EdicionEmpleado('" + nombre + "', '" + email + "', '" + calle + "','" + colonia + "', " + cp + "," +
                                      " '" + ciudad + "', '" + estado + "', '" + rfc + "', '" + fechaNac + "', " + sexo + ", " + f1.idOtroForm + ", " + co.sesion + ");";
                try
                {
                    co.Comando(updateDatosEmpleado);
                    f1.refreshTable();

                    if (cambioFoto)
                    {
                        co.Comando("UPDATE Empleado SET imagenEmpleado = '" + imgTrabajador1Loc + "' WHERE ID = " + f1.idOtroForm + ";");
                    }

                    //ELIMINA LOS DATOS PARA PODER SUSTITUIRLOS
                    co.Comando("CALL delete_EdicionEmpleado(" + f1.idOtroForm + ");");

                    for (int i = 0; i < tablaTels.Rows.Count - 1; i++)
                    {
                        co.Comando("CALL insertTel_EdicionEmpleado(" + f1.idOtroForm + ", '" + tablaTels.Rows[i].Cells[0].Value + "', " + co.sesion + ");");
                    }

                    //ELIMINA LOS DATOS PARA PODER SUSTITUIRLOS

                    co.Comando("CALL delete_e_te(" + f1.idOtroForm + ");");

                    for (int i = 0; i < works.Count; i++)
                    {
                        switch (works[i])
                        {
                        case "Diseñador":
                            co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 1, " + co.sesion + ");");
                            break;

                        case "Editor":
                            co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 2, " + co.sesion + ");");
                            break;

                        case "Fotógrafo":
                            co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 3, " + co.sesion + ");");
                            break;

                        case "Maquetador":
                            co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 4, " + co.sesion + ");");
                            break;

                        case "Ilustrador":
                            co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 5, " + co.sesion + ");");
                            break;

                        case "Imprenta":
                            co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 6, " + co.sesion + ");");
                            break;


                        case "Publicidad":
                            co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 7, " + co.sesion + ");");
                            break;
                        }
                    }

                    //ELIMINA LOS DATOS PARA PODER SUSTITUIRLOS

                    co.Comando("CALL delete_RedesSociales(" + f1.idOtroForm + ");");

                    //PARA REDES
                    for (int i = 0; i < tablaRedes.Rows.Count - 1; i++)
                    {
                        string selectIDRedes = " SELECT ID FROM TipoDeRedSocial WHERE NombreRedSocial ='" + tablaRedes.Rows[i].Cells[0].Value + "';";

                        idRedes.Add(Convert.ToInt32(queryToString(selectIDRedes)));
                    }

                    for (int i = 0; i < tablaRedes.Rows.Count - 1; i++)
                    {
                        co.Comando("CALL insert_RedesSociales(" + f1.idOtroForm + ", '" + tablaRedes.Rows[i].Cells[1].Value + "', " + idRedes[i] + ", " + co.sesion + ");");
                    }
                    if (cambioFoto)
                    {
                        bmp.Save(imgTrabajador1Loc);
                    }
                    AppProyectoBD.MessageBox mensaje6 = new AppProyectoBD.MessageBox("Cambios guardados con éxito", 2);
                    mensaje6.ShowDialog();

                    f1.refreshTable();
                    f1.visualizarSimple();
                    this.Close();
                }

                catch (Exception ex)
                {
                    AppProyectoBD.MessageBox mensaje8 = new AppProyectoBD.MessageBox("Algo ha salido mal en la edición de datos del empleado", 3);
                    mensaje8.ShowDialog();
                    co.Comando("ROLLBACK;");
                    this.Close();
                }

                finally
                {
                    co.Comando("COMMIT;");
                }
            }

            //CASO 2: SIN REDES SOCIALES
            else if (textos && telefonos && redes == false && worksL)
            {
                AppProyectoBD.MessageBox res = new AppProyectoBD.MessageBox("¿Está seguro de que quiere continuar sin redes sociales?", 1);
                res.ShowDialog();

                if (resultado)
                {
                    nombre  = tbNombre.Text;
                    email   = tbEmail.Text;
                    calle   = tbCalle.Text;
                    colonia = tbColonia.Text;
                    cp      = Convert.ToInt32(tbCP.Text);
                    ciudad  = tbCiudad.Text;
                    estado  = tbEstado.Text;
                    rfc     = tbRFC.Text;
                    int sexo = radioButton1.Checked ? 1 : 0;
                    //ADAPTAMOS AL FORMATO
                    fechaNac = fechaN.Value.Date.ToString("yyyy-MM-dd");

                    updateDatosEmpleado = "CALL update_EdicionEmpleado('" + nombre + "', '" + email + "', '" + calle + "','" + colonia + "', " + cp + "," +
                                          " '" + ciudad + "', '" + estado + "', '" + rfc + "', '" + fechaNac + "', " + sexo + ", " + f1.idOtroForm + ", " + co.sesion + ");";
                    try
                    {
                        co.Comando(updateDatosEmpleado);
                        f1.refreshTable();

                        if (cambioFoto)
                        {
                            co.Comando("UPDATE Empleado SET imagenEmpleado = '" + imgTrabajador1Loc + "' WHERE ID = " + f1.idOtroForm + ";");
                        }

                        co.Comando("CALL delete_EdicionEmpleado(" + f1.idOtroForm + ");");

                        for (int i = 0; i < tablaTels.Rows.Count - 1; i++)
                        {
                            co.Comando("CALL insertTel_EdicionEmpleado(" + f1.idOtroForm + ", '" + tablaTels.Rows[i].Cells[0].Value + "', " + co.sesion + ");");
                        }


                        co.Comando("CALL delete_e_te(" + f1.idOtroForm + ");");

                        for (int i = 0; i < works.Count; i++)
                        {
                            switch (works[i])
                            {
                            case "Diseñador":
                                co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 1, " + co.sesion + ");");
                                break;

                            case "Editor":
                                co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 2, " + co.sesion + ");");
                                break;

                            case "Fotografo":
                                co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 3, " + co.sesion + ");");
                                break;

                            case "Maquetador":
                                co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 4, " + co.sesion + ");");
                                break;

                            case "Ilustrador":
                                co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 5, " + co.sesion + ");");
                                break;

                            case "Imprenta":
                                co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 6, " + co.sesion + ");");
                                break;


                            case "Publicidad":
                                co.Comando("CALL insert_e_te(" + f1.idOtroForm + ", 7, " + co.sesion + ");");
                                break;
                            }
                        }

                        AppProyectoBD.MessageBox mensaje11 = new AppProyectoBD.MessageBox("Empleado guardado con éxito", 2);
                        if (cambioFoto)
                        {
                            bmp.Save(imgTrabajador1Loc);
                        }
                        mensaje11.ShowDialog();
                        f1.refreshTable();
                        f1.visualizarSimple();

                        co.Comando("DELETE FROM RedesSociales WHERE EmpleadoID = " + f1.idOtroForm + ";");
                        co.Comando("COMMIT;");
                        this.Close();
                    }

                    catch (Exception)
                    {
                        AppProyectoBD.MessageBox mensaje14 = new AppProyectoBD.MessageBox("Algo ha salido mal en la inserción de datos del empleado", 3);
                        mensaje14.ShowDialog();
                        co.Comando("ROLLBACK;");
                        this.Close();
                    }
                    finally
                    {
                        co.Comando("COMMIT;");
                    }
                }
            }

            //CASO 3: DATOS INSUFICIENTES
            else
            {
                AppProyectoBD.MessageBox mensaje15 = new AppProyectoBD.MessageBox("Llene los datos del usuario mínimos: DATOS PERSONALES, TIPO DE EMPLEO Y TELEFONOS", 2);
                mensaje15.ShowDialog();
            }
        }
Пример #15
0
        private void btnEliminarEmp_Click(object sender, EventArgs e)
        {
            if (co.permiso.Equals(co.administrador))
            {
                try
                {
                    idOtroForm = (int)tablaEmpleados[0, tablaEmpleados.CurrentCell.RowIndex].Value;
                    id         = (int)tablaEmpleados[0, tablaEmpleados.CurrentCell.RowIndex].Value;
                    resultado2 = false;
                    int    numTrabajos    = 0;
                    int    numProyectos   = 0;
                    string nombreEmpleado = "";
                    co.Comando("SELECT COUNT(*) FROM Empleado_Trabajos WHERE EmpleadoID = " + id + ";");
                    if (co.LeerRead)
                    {
                        numTrabajos = co.Leer.GetInt32(0);
                    }

                    co.Comando("SELECT Nombre FROM Empleado WHERE ID = " + id + ";");
                    if (co.LeerRead)
                    {
                        nombreEmpleado = co.Leer.GetString(0);
                    }

                    co.Comando("SELECT COUNT(*) FROM Proyectos WHERE Encargado LIKE @NombreEmpleado;", "@NombreEmpleado", nombreEmpleado);
                    if (co.LeerRead)
                    {
                        numProyectos = co.Leer.GetInt32(0);
                    }



                    if (!(numTrabajos > 0) && !(numProyectos > 0))
                    {
                        //Checar esto

                        AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("¿Seguro que desea eliminar el elemento?", 1);
                        mens.ShowDialog();
                        if (resultado2)
                        {
                            //LO USAMOS PARA ELIMINAR A UN EMPLEADO SELECCIONAND DESDE LA TABLA DE EMPLEADOS
                            string delete = "DELETE FROM Empleado WHERE ID = " + id + ";";
                            try
                            {
                                co.Comando(delete);
                                resultado2 = false;
                            }
                            catch (MySqlException)
                            {                            //en caso de no poder borrarse
                                AppProyectoBD.MessageBox mens1 = new AppProyectoBD.MessageBox("Error al borrar el usuario", 3);
                                mens1.ShowDialog();
                            }

                            finally
                            {
                                refreshTableDELETE();
                            }
                        }
                    }
                    else
                    {
                        AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("El empleado tiene trabajos o proyectos asociados", 2);
                        mens.ShowDialog();
                    }
                }

                //NullReferenceException
                catch (Exception ex)
                {
                    AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("Seleccione un elemento", 3);
                    mens.ShowDialog();
                }
            }
            else
            {
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No cuenta con los permisos para realizar esta acción", 3);
                mens.ShowDialog();
            }
        }