Esempio n. 1
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                bool funcionesMod = false;
                tbCodigo.Text      = tbCodigo.Text.Trim(' ');
                tbDescripcion.Text = tbDescripcion.Text.Trim(' ');
                tbEmpresa.Text     = tbEmpresa.Text.Trim(' ');
                tbNombre.Text      = tbNombre.Text.Trim(' ');
                tbPonderacion.Text = tbPonderacion.Text.Trim(' ');
                int codigo = Int32.Parse(tbCodigo.Text);
                //validarDatosCompletos
                if (tbNombre.Text != "" && tbDescripcion.Text != "" && tbEmpresa.Text != "" && listaCar.Count > 0)
                {
                    //Se fija si las funciones fueron modificadas
                    foreach (var carI in listaCarInic)
                    {
                        foreach (var carN in listaCar)
                        {
                            //if ((carI.codigo_competencia == carN.codigo_competencia && carI.ponderacion != carN.ponderacion)
                            if (!carI.Igual(carN))
                            {
                                funcionesMod = true;
                                break;
                            }
                        }
                    }
                    if (listaCarInic.Count() != listaCar.Count())
                    {
                        funcionesMod = true;
                    }

                    if (funcionesMod == true)
                    {
                        GestorDePuestos clogP = new GestorDePuestos();
                        if (clogP.contieneCuestionarios(puestoActual))
                        {
                            MessageBox.Show(("Ya existen cuestionarios generados para el puesto \n"), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            Owner.Show();
                            this.Close();
                        }
                        else
                        {
                            Puesto          puesto = new Puesto(codigo, tbNombre.Text, tbDescripcion.Text, tbEmpresa.Text, listaCar);
                            GestorDePuestos clog   = new GestorDePuestos();
                            clog.modificarCFunc(puesto, puestoActual);
                            limpiarCampos();
                            DialogResult dialogResult = MessageBox.Show("El puesto " + tbNombre.Text + " se ha modificado correctamente.", "Éxito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            Owner.Show();
                            this.Close();
                        }
                    }
                    if (funcionesMod == false)
                    {
                        puestoActual.nombre      = tbNombre.Text;
                        puestoActual.descripcion = tbDescripcion.Text;
                        puestoActual.empresa     = tbEmpresa.Text;
                        GestorDePuestos clog = new GestorDePuestos();
                        clog.modificarSFunc(puestoActual);
                        limpiarCampos();
                        DialogResult dialogResult = MessageBox.Show("El puesto " + tbNombre.Text + " se ha modificado correctamente.", "Éxito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        Owner.Show();
                        this.Close();
                    }
                }
                else
                {
                    //string errorString = "";
                    if (tbNombre.Text == "")
                    {
                        errorProv.SetError(tbNombre, "No puede dejar el campo nombre vacío.");
                        //errorString += "No puede dejar el campo nombre vacío.\n";
                    }
                    else
                    {
                        errorProv.SetError(tbNombre, null);
                    }
                    if (tbDescripcion.Text == "")
                    {
                        errorProv.SetError(tbDescripcion, "No puede dejar el campo descripción vacío.");
                        //errorString += "No puede dejar el campo descripción vacío.\n";
                    }
                    else
                    {
                        errorProv.SetError(tbDescripcion, null);
                    }

                    if (tbEmpresa.Text == "")
                    {
                        errorProv.SetError(tbEmpresa, "No puede dejar el campo empresa vacío.");
                        //errorString += "No puede dejar el campo empresa vacío.\n";
                    }
                    else
                    {
                        errorProv.SetError(tbEmpresa, null);
                    }

                    if (listaCar.Count == 0)
                    {
                        errorProv.SetError(dgvPuntajesRequeridos, "Debe cargar al menos una característica.");
                        //errorString += "Debe cargar al menos una característica.\n";
                    }
                    else
                    {
                        errorProv.SetError(dgvPuntajesRequeridos, null);
                    }
                    //errorString.Remove(errorString.LastIndexOf('\n'));
                    //MessageBox.Show(errorString, "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            catch (FormatException)
            {
                errorProv.SetError(tbCodigo, "El campo código debe ser un número o estar completo.");
                //string errorString = "El campo código debe ser un número o estar completo.\n";
                if (tbNombre.Text == "")
                {
                    errorProv.SetError(tbNombre, "No puede dejar el campo nombre vacío.");
                    //errorString += "No puede dejar el campo nombre vacío.\n";
                }
                else
                {
                    errorProv.SetError(tbNombre, null);
                }
                if (tbDescripcion.Text == "")
                {
                    errorProv.SetError(tbDescripcion, "No puede dejar el campo descripción vacío.");
                    //errorString += "No puede dejar el campo descripción vacío.\n";
                }
                else
                {
                    errorProv.SetError(tbDescripcion, null);
                }

                if (tbEmpresa.Text == "")
                {
                    errorProv.SetError(tbEmpresa, "No puede dejar el campo empresa vacío.");
                    //errorString += "No puede dejar el campo empresa vacío.\n";
                }
                else
                {
                    errorProv.SetError(tbEmpresa, null);
                }

                if (listaCar.Count == 0)
                {
                    errorProv.SetError(dgvPuntajesRequeridos, "Debe cargar al menos una característica.");
                    //errorString += "Debe cargar al menos una característica.\n";
                }
                else
                {
                    errorProv.SetError(dgvPuntajesRequeridos, null);
                }
                //errorString.Remove(errorString.LastIndexOf('\n'));
                //MessageBox.Show(errorString, "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (Exception ex)
            {
                MessageBox.Show(("Se ha producido un error:\n" + ex.Message), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }