Пример #1
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();
            }
        }
Пример #2
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;
            }
        }
Пример #3
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());
            }
        }
Пример #4
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);
        }
Пример #5
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());
        }
Пример #6
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();
            }
        }
Пример #7
0
 //Validacion del formulario
 private bool Validacion()
 {
     if (textNombre.Text.Equals("") || richTextBox1.Text.Equals(""))
     {
         MessageBox mens = new MessageBox("Complete el formulario", 2);
         mens.ShowDialog();
         return(false);
     }
     return(true);
 }
Пример #8
0
        private void butGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                if (Validacion())
                {
                    //Opcion guardar si es desde visualizar
                    if (sel == 1)
                    {
                        butGuardar.Visible      = false;
                        butEliminar.Visible     = true;
                        butEditar.Visible       = true;
                        nombre.Enabled          = false;
                        dateTimePicker1.Enabled = false;
                        dateTimePicker2.Enabled = false;
                        comboBox1.Enabled       = false;
                        richTextBox1.Enabled    = false;

                        //----------------------Guaradr un proyecto editado------------------------------
                        string fecha1 = dateTimePicker1.Value.Date.ToString("yyyy-MM-dd");

                        string fecha2 = dateTimePicker2.Value.Date.ToString("yyyy-MM-dd");

                        co.Comando("UPDATE Proyectos SET ses_id = " + co.sesion + ", Nombre ='" + nombre.Text + "',Descripcion = '" + richTextBox1.Text + "',FechaInicio ='" + fecha1 + "',FechaFin ='" + fecha2 + "',Encargado ='" + comboBox1.Text + "'" +
                                   "WHERE ID=" + IDPro + ";");
                        //---------------------------------------------------------------------------------
                        pro.DatosTablas();
                    }
                    //Opcion guardar si es desde agregar nuevo proyecto
                    else
                    {
                        //----------------------Insertar datos en Proyectos--------------------------
                        string fecha1 = dateTimePicker1.Value.Date.ToString("yyyy-MM-dd");

                        string fecha2 = dateTimePicker2.Value.Date.ToString("yyyy-MM-dd");

                        co.Comando("INSERT INTO Proyectos (Nombre,Descripcion,FechaInicio, FechaFin, Encargado,ses_id) " +
                                   " VALUES('" + nombre.Text + "','" + richTextBox1.Text + "','" + fecha1 + "'," +
                                   "'" + fecha2 + "','" + comboBox1.Text + "'," + co.sesion + ");");

                        //------------------------------------------------------------------------------
                        Form message = new MessageBox("Guardado con éxito", 2);
                        pro.DatosTablas();
                        message.ShowDialog();
                        this.Close();
                    }
                }
            }
            catch (Exception)
            {
                Form message = new MessageBox("Verifique los datos", 3);
                message.ShowDialog();
            }
        }
Пример #9
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();
     }
 }
Пример #10
0
 private void butVisua2_Click(object sender, EventArgs e)
 {
     try
     {
         Form visuaTrabajos = new VisuaTrabajos(this, co, (int)dataGridView2[0, dataGridView2.CurrentCell.RowIndex].Value, 1);
         visuaTrabajos.ShowDialog();
     }
     catch (System.NullReferenceException)
     {
         Form mensaje = new MessageBox("Seleccione un trabajo", 2);
         mensaje.ShowDialog();
     }
 }
Пример #11
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();
     }
 }
Пример #12
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();
     }
 }
Пример #13
0
        private void Reporte_Click(object sender, EventArgs e)
        {
            if (arreglos() == 0)
            {
                // Agregar mensaje de "no se seleccionó nignuna opcion"
                MessageBox mens = new MessageBox("No se ha seleccionado ninguna opción", 2);
                mens.ShowDialog();
                return;
            }
            fechas();

            crearDocumento();
        }
Пример #14
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string user     = tbUser.Text;
                string pwd      = tbPwd.Text;
                string queryUsr = queryToString("SELECT usr_login FROM Usuarios WHERE usr_login = @User;", "@User", user);
                string queryPwd = queryToString("SELECT usr_pwd FROM Usuarios WHERE usr_login = @User;", "@User", user);
                int    idUsr    = Convert.ToInt32(queryToString("SELECT usr_id FROM Usuarios WHERE usr_login =  @User;", "@User", user));
                int    numToken = Convert.ToInt32(queryToString("SELECT MAX(ses_id) AS SES_ID FROM Sesiones;", "", ""));

                if (user == queryUsr && pwd == queryPwd)
                {
                    co.Comando("INSERT INTO Sesiones(ses_cadena,ses_inicio,ses_ip,ses_so,usr_id)" +
                               "VALUES('sesion" + (numToken + 1) + "',now(),'" + GetLocalIPAddress() + "','" + GetOSFriendlyName() + "'," + idUsr + ");");

                    co.Comando("SELECT p.perm_permisos FROM Permisos AS p " +
                               "INNER JOIN Roles AS r ON(r.rol_id = p.rol_id) " +
                               "INNER JOIN Roles_Usuarios AS ru ON(r.rol_id = ru.rol_id) " +
                               "INNER JOIN Usuarios AS u ON(u.usr_id = ru.usr_id) WHERE u.usr_id = " + idUsr + ";");
                    if (co.LeerRead)
                    {
                        co.permiso = co.Leer.GetString(0);
                    }

                    co.Comando("SELECT MAX(ses_id) FROM Sesiones;");
                    if (co.LeerRead)
                    {
                        co.sesion = co.Leer.GetInt32(0);
                    }
                    Form principal = new Form1(idUsr, numToken + 1, co);
                    principal.Show();
                    this.Close();
                }
                else
                {
                    MessageBox mens = new MessageBox("Contraseña o usuario incorrectos", 3);
                    mens.ShowDialog();
                }
            }

            catch (Exception)
            {
                MessageBox mens = new MessageBox("Error de conexión", 3);
                mens.ShowDialog();
            }
        }
Пример #15
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();
            }
        }
Пример #16
0
        private void guardar_Click(object sender, EventArgs e)
        {
            if (Validacion())
            {
                if (opcion == 1)
                {
                    //Actualizo la info en Pagos
                    co.Comando("CALL update_PagosMonto(" + Convert.ToInt32(monto.Text) + "," + metodosID[metodoPago.SelectedIndex] + "," + IDPP + "," + co.sesion + ");");
                    //co.Comando("UPDATE Pagos SET Monto = " + Convert.ToInt32(monto.Text) + ", MetodoID = " + metodosID[metodoPago.SelectedIndex] + ", ses_id = " + co.sesion + " WHERE ID = " + IDPP + ";");
                }
                else if (opcion == 2)
                {
                    int IDGasto = 0;
                    //Actualizo la info en Gastos
                    co.Comando("CALL update_PagosMonto(" + Convert.ToInt32(monto.Text) + "," + metodosID[metodoPago.SelectedIndex] + "," + IDPP + ", " + co.sesion + ");");
                    //co.Comando("UPDATE Pagos SET Monto = " + Convert.ToInt32(monto.Text) + ", MetodoID = " + metodosID[metodoPago.SelectedIndex] + ", ses_id = " + co.sesion + " WHERE ID = " + IDPP + ";");
                    //Consulto el GasoID para saber a que gasto pertenece
                    co.Comando("SELECT GastoID FROM Pagos WHERE ID = " + IDPP + ";");
                    if (co.LeerRead)
                    {
                        IDGasto = co.Leer.GetInt32(0);
                    }
                    //Modifico el Concepto del gasto asignado
                    //co.Comando("UPDATE Gasto SET Concepto = '" + textConcepto.Text + "' WHERE ID = " + IDPP + ";");
                    co.Comando("UPDATE Gasto SET Concepto = '" + textConcepto.Text + "', ses_id = " + co.sesion + " WHERE ID = " + IDPP + ";");
                }
                MessageBox mens = new MessageBox("Guardado con exito", 2);
                mens.ShowDialog();

                PagoGasto.Enabled    = false;
                empleado.Enabled     = false;
                trabajo.Enabled      = false;
                textConcepto.Enabled = false;
                metodoPago.Enabled   = false;
                monto.Enabled        = false;
                //Labels
                pagosrestantes.Visible = false;
                //Botones
                cerrar.Visible   = true;
                eliminar.Visible = true;
                editar.Visible   = false;
                guardar.Visible  = false;
                aceptar.Visible  = false;
            }
        }
Пример #17
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (Validacion())
            {
                FormularioProgramarPago fpp;
                //Si no esta editando quiere decir que se creo un trabajo nuevo
                if (!editando)
                {
                    List <int> IDs = new List <int>();
                    //Se guardan los IDs de los empleados seleccionados para el trabajo
                    try
                    {
                        for (int i = 0; i < dataGridView1.RowCount; i++)
                        {
                            IDs.Add((int)dataGridView1[0, i].Value);
                        }

                        //Se mandan al siguiente Frame para ser dados de alta, tambien se manda cuantos son y se pone
                        // 0 en Trabajo porque apenas se va a crear y se manda la opcion 1 que es crear un nuevo trabajo
                        fpp = new FormularioProgramarPago(tra, IDs, dataGridView1.RowCount, 0, 1, co);
                        fpp.ShowDialog();
                    }
                    catch (NullReferenceException er)
                    {
                        MessageBox error = new MessageBox("No hay ningun empleado asignado", 3);
                        error.ShowDialog();
                    }
                    catch (InvalidCastException)
                    {
                        MessageBox error = new MessageBox("No hay ningun empleado asignado", 3);
                        error.ShowDialog();
                    }
                }
                else
                {
                    //Se manda el arreglo con los nuevos empleados, su tamaño, el ID del trabajo al que van a ser agregados
                    // y la opcion 3 que indica dar de alta empleados en trabajo existente
                    fpp = new FormularioProgramarPago(tra, EmpleadosModoEdicion, EmpleadosModoEdicion.Count, IDTrab, 3, co);
                    fpp.ShowDialog();
                }
            }
        }
Пример #18
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();
             * }*/
        }
 private void guardar_Click(object sender, EventArgs e)
 {
     if (!nombre.Text.Equals("") && !descripcion.Text.Equals(""))
     {
         //En caso de no estar editando, solo se hace un INSERT, caso contrario se hace un UPDATE
         if (!editar)
         {
             //Si es opcion 1 se inserta en TipoTrabajos
             if (opc == 1)
             {
                 co.Comando("INSERT INTO TipoTrabajos (NombreTipoTrab, DescripcionTrab, ses_id) VALUES('" + nombre.Text + "','" + descripcion.Text + "', " + co.sesion + ");");
             }
         }
         else
         {
             //Si es opcion 1 se actualiza TipoTrabajos
             if (opc == 1)
             {
                 co.Comando("UPDATE TipoTrabajos SET NombreTipoTrab = '" + nombre.Text + "', DescripcionTrab = '" + descripcion.Text + "', ses_id = " + co.sesion + " WHERE ID = " + ID + ";");
             }
             //Si es opcion 2 se actualiza TipoEmpleado
             else
             {
                 co.Comando("UPDATE TipoEmpleado SET Descripcion = '" + descripcion.Text + "' WHERE ID = " + ID + ";");
             }
         }
         //Se actualizan los datos de las tablas del frame Utilidades
         Utilidades frm2 = Application.OpenForms.OfType <Utilidades>().FirstOrDefault();
         if (frm2 != null)//Si encuentra una instancia abierta
         {
             frm2.reset();
             frm2.cargarDatos();
         }
         this.Close();
     }
     else
     {
         MessageBox mens = new MessageBox("Rellene todos los campos", 2);
         mens.ShowDialog();
     }
 }
Пример #20
0
 private void butVisua_Click(object sender, EventArgs e)
 {
     try
     {
         if (!dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value.Equals(""))
         {
             Form visuaTrabajos = new VisuaTrabajos(this, co, (int)dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value, 1);
             visuaTrabajos.ShowDialog();
         }
         else
         {
             Form mensaje = new MessageBox("No hay trabajos que mostrar", 2);
             mensaje.ShowDialog();
         }
     }
     catch (System.NullReferenceException)
     {
         Form mensaje = new MessageBox("Seleccione un trabajo", 2);
         mensaje.ShowDialog();
     }
 }
Пример #21
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());
        }
Пример #22
0
 private void button1_Click(object sender, EventArgs e)
 {
     //Visualizar(Le mando el id del proyecto)
     try
     {
         //Comprueba que la cadena no sea nula
         if (!dataGridView2[0, dataGridView2.CurrentCell.RowIndex].Value.Equals(""))
         {
             Form visuaProy = new VisuaProyecto(this, co, (int)dataGridView2[0, dataGridView2.CurrentCell.RowIndex].Value, 1);
             visuaProy.ShowDialog();
         }
         else
         {
             Form mensaje = new MessageBox("No hay proyectos que mostrar", 2);
             mensaje.ShowDialog();
         }
     }
     catch (System.NullReferenceException)
     {
         Form mensaje = new MessageBox("Seleccione un proyecto", 2);
         mensaje.ShowDialog();
     }
 }
Пример #23
0
        //Valido los datos del formulario para que no sean nulos
        private bool Validacion()
        {
            if (PagoGasto.SelectedIndex == 0)
            {
                if (monto.Text.Equals(""))
                {
                    MessageBox mens = new MessageBox("Complete el formulario", 2);
                    mens.ShowDialog();
                    return(false);
                }
            }
            if (PagoGasto.SelectedIndex == 1)
            {
                if (monto.Text.Equals("") || textConcepto.Text.Equals(""))
                {
                    MessageBox mens = new MessageBox("Complete el formulario", 2);
                    mens.ShowDialog();
                    return(false);
                }
            }

            return(true);
        }
Пример #24
0
 private void button1_Click(object sender, EventArgs e)
 {
     //Comprobaciones
     try
     {
         if (pags.Checked)
         {
             if (!dataGridView2[0, dataGridView2.CurrentCell.RowIndex].Value.Equals(""))
             {
                 fh = new FormularioPago(this, Convert.ToInt32(dataGridView2[0, dataGridView2.CurrentCell.RowIndex].Value), 1, co);
                 fh.ShowDialog();
             }
             else
             {
                 MessageBox mens = new MessageBox("No hay pagos", 2);
                 mens.ShowDialog();
             }
         }
         else
         {
             if (!dataGridView3[0, dataGridView3.CurrentCell.RowIndex].Value.Equals(""))
             {
                 fh = new FormularioPago(this, Convert.ToInt32(dataGridView3[0, dataGridView3.CurrentCell.RowIndex].Value), 2, co);
                 fh.ShowDialog();
             }
             else
             {
                 MessageBox mens2 = new MessageBox("No hay gastos", 2);
                 mens2.ShowDialog();
             }
         }
     }catch (Exception ef)
     {
         MessageBox mens3 = new MessageBox("Seleccione un elemento", 2);
         mens3.ShowDialog();
     }
 }
Пример #25
0
        private void butEliminar_Click(object sender, EventArgs e)
        {
            if (co.permiso.Equals(co.administrador))
            {
                //-------------------------Eliminar el proyecto seleccionado----------------------------------------
                try
                {
                    //Despliega la confirmacion para eliminar
                    MessageBox confirmar = new MessageBox("¿Seguro que desea eliminar el proyecto?", 1);
                    confirmar.ShowDialog();


                    if (confirmacion)
                    {
                        co.Comando("DELETE FROM Proyectos WHERE ID =" + IDPro + ";");
                        MessageBox mensaje = new MessageBox("Eliminado con éxito", 2);
                        mensaje.ShowDialog();
                        this.Close();
                    }
                }
                catch (MySql.Data.MySqlClient.MySqlException)
                {
                    MessageBox mensaje = new MessageBox("Este proyecto tiene trabajos asociados", 3);
                    mensaje.ShowDialog();
                    this.Close();
                }
            }
            else
            {
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No cuenta con los permisos para realizar esta acción", 3);
                mens.ShowDialog();
            }

            //Actualizo los datos de Proyectos
            pro.DatosTablas();
        }
Пример #26
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();
            }
        }
Пример #27
0
        //1 - Visualizar 2 - Crear un trabajo nuevo
        public VisuaTrabajos(Trabajos tra, Conexion co, int x, int elem)
        {
            InitializeComponent();
            Region   = Funciones.redondear(Width, Height);
            this.tra = tra;
            this.co  = co;
            editando = false;
            aceptar  = false;
            checar   = false;

            this.StartPosition = FormStartPosition.CenterParent;

            //Arrego para guardar los empleados extras en el modo edicion
            EmpleadosModoEdicion = new List <int>();

            //Opcion seleccionada en el frame anterior
            sel = elem;

            //Renglones usados en el dataGridView
            if (editando)
            {
                rows = dataGridView1.RowCount;
            }
            else
            {
                rows = 0;
            }

            //Arreglos para guardar los IDs de los Proyectos y empleados totales
            ProyectosID = new List <int>();
            EmpleadosID = new List <int>();

            //Arreglos para guardar los IDs y nombres de los empleados del trabajo seleccionado
            EmpleadosVisua = new List <int>();
            EmpleadosNom   = new List <string>();

            //---------- El id del trabajo seleccionado --- Su proyecto ---- su TipoTrabjo ---------------
            IDTrab   = x;
            ProID    = 0;
            TipoTrab = 0;

            //----------------------Desplegar opciones en combobox--------------------------
            //Tipo de Trabajo
            co.Comando("SELECT NombreTipoTrab FROM TipoTrabajos;");
            List <String> Tipos = new List <String>();

            while (co.LeerRead)
            {
                String tipoTrb = co.Leer.GetString(0);
                Tipos.Add(tipoTrb);
            }
            //Proyecto del trabajo
            int           numProSel = 0;
            List <String> Proyectos = new List <String>();

            co.Comando("SELECT IFNULL(ProyectosID,0) FROM Trabajos WHERE ID =" + IDTrab + ";");
            if (co.LeerRead)
            {
                numProSel = co.Leer.GetInt32(0);
            }
            //Coloco el nombre del proyecto del trabajo, si no tiene se coloca 0 y "sin proyecto"
            co.Comando("SELECT ID, Nombre FROM Proyectos WHERE ID =" + numProSel + ";");
            if (co.LeerRead)
            {
                ProyectosID.Add(co.Leer.GetInt32(0));
                Proyectos.Add(co.Leer.GetString(1));
                ProyectosID.Add(0);
                Proyectos.Add("Sin proyecto");
            }
            else
            {
                ProyectosID.Add(0);
                Proyectos.Add("Sin proyecto");
            }
            //Proyectos
            co.Comando("SELECT ID,Nombre FROM Proyectos WHERE ID !=" + numProSel + ";");

            while (co.LeerRead)
            {
                int id = co.Leer.GetInt32(0);
                ProyectosID.Add(id);
                String Pro = co.Leer.GetString(1);
                Proyectos.Add(Pro);
            }

            //Empleados
            co.Comando("SELECT ID,Nombre FROM Empleado;");
            List <String> Nombres = new List <String>();

            while (co.LeerRead)
            {
                int id = co.Leer.GetInt32(0);
                EmpleadosID.Add(id);
                String Nom = co.Leer.GetString(1);
                Nombres.Add(Nom);
            }

            comboBox1.DataSource = Tipos;
            comboBox2.DataSource = Proyectos;
            comboBox3.DataSource = Nombres;
            ProyectoOriginal     = ProyectosID[comboBox2.SelectedIndex];
            //------------------------------------------------------------------------------
            //Se esta visualizando un Trabajo
            if (elem == 1)
            {
                //Botones
                butEditar.Visible        = true;
                butGuardar.Visible       = false;
                butEliminar.Visible      = true;
                butCerrar.Visible        = true;
                editarEncargados.Visible = true;
                //butCancelar.Visible = false;
                AgreEmpleado.Visible = false;
                EliEmpleado.Visible  = false;
                PrograPago.Visible   = false;
                //TextBox
                textNombre.Enabled      = false;
                richTextBox1.Enabled    = false;
                comboBox1.Enabled       = false;
                comboBox2.Enabled       = false;
                dateTimePicker1.Enabled = false;
                dateTimePicker2.Enabled = false;
                comboBox3.Enabled       = false;
                dataGridView1.Enabled   = false;

                //*------------------Editar trabajo---------------------------------------------
                co.Comando("SELECT Descripcion, Nombre,FechaInicio,FechaFin,TipoTrabajosID, IFNULL(ProyectosID,0) FROM Trabajos WHERE ID = " + IDTrab + ";");

                if (co.LeerRead)
                {
                    richTextBox1.Text = co.Leer.GetString(0);
                    textNombre.Text   = co.Leer.GetString(1);
                    //Tentrega.Text = co.Leer.GetInt32(2).ToString();
                    dateTimePicker1.Value = co.Leer.GetDateTime(2);
                    dateTimePicker2.Value = co.Leer.GetDateTime(3);
                    TipoTrab = co.Leer.GetInt32(4);
                    ProID    = co.Leer.GetInt32(5);
                }
                else
                {
                    MessageBox mensaje = new MessageBox("No se encuentra", 3);
                    mensaje.ShowDialog();
                }

                //Cargo los empleados asignados al proyecto
                cargarEmpleados();
            }
            //Crear nuevo trabajo
            else
            {
                //Botones
                butEditar.Visible        = false;
                butGuardar.Visible       = false;
                butEliminar.Visible      = false;
                butCerrar.Visible        = true;
                editarEncargados.Visible = false;
                //butCancelar.Visible = false;
                cancelar.Visible     = false;
                AgreEmpleado.Visible = true;
                EliEmpleado.Visible  = true;
                PrograPago.Visible   = true;
                //TextBox
                textNombre.Enabled      = true;
                richTextBox1.Enabled    = true;
                comboBox1.Enabled       = true;
                comboBox2.Enabled       = true;
                dateTimePicker1.Enabled = true;
                dateTimePicker2.Enabled = true;
                comboBox3.Enabled       = true;
                dataGridView1.Enabled   = true;
            }
        }
Пример #28
0
        private void butEliminar_Click(object sender, EventArgs e)
        {
            if (co.permiso.Equals(co.administrador))
            {
                List <int> PagoProgra = new List <int>();
                //Selecciono los pagosProgramados asociados al Trabjo y los almaceno
                co.Comando("SELECT PagoProgramadoID FROM Pago_Empleado_Trabajos WHERE TrabajosID = " + IDTrab);
                while (co.LeerRead)
                {
                    PagoProgra.Add(co.Leer.GetInt32(0));
                }

                int pagos       = 0;
                int PagosProgra = PagoProgra.Count;
                int i           = 0;
                while (PagosProgra > 0)
                {
                    //Compruebo si los pagosProgrmados tienen pagos realizados, si es asi aumento la variable
                    co.Comando("SELECT ID FROM Pagos WHERE PagoProgramadoID = " + PagoProgra[i]);
                    while (co.LeerRead)
                    {
                        pagos++;
                    }
                    i++;
                    PagosProgra--;
                }
                //Si no tiene pagos asociados a ningun pagoProgramado
                if (pagos == 0)
                {
                    MessageBox mens = new MessageBox("¿Seguro que desea eliminar el trabajo?", 1);
                    mens.ShowDialog();
                    if (aceptarElim)
                    {
                        List <int> IDPagosProgra = new List <int>();
                        //Guardo los IDs de los pagos programados asociados al trabajo
                        co.Comando("SELECT PagoProgramadoID FROM Pago_Empleado_Trabajos WHERE TrabajosID = " + IDTrab);
                        while (co.LeerRead)
                        {
                            IDPagosProgra.Add(co.Leer.GetInt32(0));
                        }


                        //Elimino el trabajo y se elimina el registro de Empleado_Trabajos y Pago_Empleado_Trabajos en cascada
                        co.Comando("DELETE FROM Trabajos WHERE ID = " + IDTrab + ";");

                        //Elimino los Pagos Programados
                        PagosProgra = IDPagosProgra.Count;
                        i           = 0;
                        while (PagosProgra > 0)
                        {
                            co.Comando("DELETE FROM  PagoProgramado WHERE ID = " + IDPagosProgra[i] + ";");
                            i++;
                            PagosProgra--;
                        }

                        MessageBox mens1 = new MessageBox("Eliminado con éxito", 2);
                        mens1.ShowDialog();

                        this.Close();
                    }
                }
                else
                {
                    MessageBox men;
                    //En caso contrario muestro los pagos asociados al trabajo
                    if (pagos > 1)
                    {
                        men = new MessageBox("No se puede eliminar tiene " + pagos + " pagos asociados", 2);
                    }
                    else
                    {
                        men = new MessageBox("No se puede eliminar tiene " + pagos + " pago asociado", 2);
                    }
                    men.Show();
                }
            }
            else
            {
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No cuenta con los permisos para realizar esta acción", 3);
                mens.ShowDialog();
            }
            //Actualizo la info de trabajos
            tra.DatosTablas();
        }
Пример #29
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (co.permiso.Equals(co.administrador))
            {
                try
                {
                    //Solo para comprobar que esta seleccionado un elemento de la tabla y pueda saltar el error de NullReferenceException
                    int comp = (int)dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value;

                    //Eliminar un empledo seleccionado de la BD desde visualizar
                    int numPagos = 0;
                    if (editando)
                    {
                        bool noEstaba = false;
                        //Este ciclo revisa si el empleado seleccionado fue agregado en modo edicion o no
                        for (int i = 0; i < EmpleadosModoEdicion.Count; i++)
                        {
                            if ((int)dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value == EmpleadosModoEdicion[i])
                            {
                                noEstaba = true;
                                EmpleadosModoEdicion.RemoveAt(i);
                            }
                        }
                        //Si no estaba entonces se elimina normalmente
                        if (noEstaba)
                        {
                            eliminarElemento(numPagos);
                        }
                        else
                        {
                            //Si ya estaba quiere decir que pertenece al trabajo y procede a eliminarse de la BD
                            //Mensaje que al acpetar se cambia la variable aceptar a TRUE desde el otro frame
                            aceptar = false;
                            MessageBox mensaje = new MessageBox("¿Seguro que desea eliminar?", 1);
                            mensaje.ShowDialog();
                        }


                        if (aceptar)
                        {
                            aceptar = false;
                            int IDPago = 0;
                            //Cuenta los pagos para saber si hay mas de 1 y asi evitar que un trabajo se quede sin empleados
                            co.Comando("SELECT COUNT(*) FROM Pago_Empleado_Trabajos WHERE TrabajosID = " + IDTrab + ";");
                            if (co.LeerRead)
                            {
                                numPagos = co.Leer.GetInt32(0);
                            }
                            //Si hay mas de un pago, procede a eliminar el seleccionado
                            if (numPagos > 1)
                            {
                                //Guarda el ID del PagoProgramado asociado a ese empleado
                                co.Comando("SELECT PagoProgramadoID FROM Pago_Empleado_Trabajos WHERE EmpleadoID = " + (int)dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value
                                           + " AND TrabajosID = " + IDTrab + ";");
                                if (co.LeerRead)
                                {
                                    IDPago = co.Leer.GetInt32(0);
                                }

                                //Elimina el PagoProgramado de PagoProgramado y en cascada de Pago_Empleados_Trabajos
                                co.Comando("DELETE FROM PagoProgramado WHERE ID =" + IDPago + ";");

                                //Finalmente elimina la asignacion del empleado al trabajoe en Empleado_Trabajos
                                co.Comando("DELETE FROM Empleado_Trabajos WHERE EmpleadoID = " + (int)dataGridView1[0, dataGridView1.CurrentCell.RowIndex].Value + " AND TrabajosID =" + IDTrab + ";");


                                eliminarElemento(0);

                                //Mensaje de confirmacion
                                MessageBox confirmacion = new MessageBox("Eliminado con éxito", 2);
                                confirmacion.ShowDialog();
                            }
                            else
                            {
                                //En caso de ser <= 1 Entonces lanza la advertencia
                                MessageBox advertencia = new MessageBox("Un trabajo no puede quedarse sin empleados", 2);
                                advertencia.Show();
                                numPagos = 0;
                            }
                        }
                    }
                    else
                    {
                        eliminarElemento(numPagos);
                    }
                }
                catch (System.NullReferenceException)
                {
                    Form mensaje = new MessageBox("Seleccione un empleado", 2);
                    mensaje.ShowDialog();
                }
                catch (System.InvalidCastException)
                {
                    Form mensaje = new MessageBox("La tabla esta vacía", 2);
                    mensaje.ShowDialog();
                }

                //Si esta vacio quiere decir que no se agregaron nuevos empleados al Trabajo
                if (EmpleadosModoEdicion.Count == 0 && editando)
                {
                    PrograPago.Visible = false;
                }
            }
            else
            {
                AppProyectoBD.MessageBox mens = new AppProyectoBD.MessageBox("No cuenta con los permisos para realizar esta acción", 2);
                mens.ShowDialog();
            }
        }
Пример #30
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;");
        }