Beispiel #1
0
        //Métodos correspondientes a los botones de Dependiente

        //Método alta de un Dependiente
        //Comentaremos este primer método con más detalle, y los siguientes seguirán un patrón similar, con lo que contendrán menos anotaciones
        private void altaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //Creamos un formulario para que introduzca el nss y esperamos si acepta o le da a cancelar
            FormIntroducir fi = new FormIntroducir("NºSS");

            fi.ShowDialog();
            DialogResult dr = fi.DialogResult;

            //En el caso de que acepte continuamos
            if (dr == DialogResult.OK)
            {
                //Comprobamos que no ha introducido un nss vacío y que siga haciendo click en aceptar
                while (fi.textBox1.Text == "" & dr == DialogResult.OK)
                {
                    DialogResult drDelay = MessageBox.Show(this, "Debe introducir un nss para el nuevo Dependiente", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    fi.Dispose();
                    fi = new FormIntroducir("NºSS");
                    dr = fi.ShowDialog();
                }
                //Si ha salido del bucle porque ha introducido un nss, vendrá aquí
                if (dr == DialogResult.OK)
                {
                    //Construimos un Dependiente auxiliar que hará de envoltorio del nss (ya que nuestra búsqueda de dependiente necesita de un dependiente)
                    Dependiente daux = new Dependiente(fi.textBox1.Text, null, null);
                    //Si ese dependiente ya existía, nos lo devolverá en "d", en caso contrario, en "d" tendremos un null
                    Dependiente d = sd.ObtenerInfoDependiente(daux);
                    //Si ese dependiente existía:
                    if (d != null)
                    {
                        //Le daremos la posibilidad de introducir otro
                        DialogResult dr2 = MessageBox.Show(this, "¿Quieres introducir otro?", "Ya existe un dependiente con ese NºSS", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        //Si clicka en sí, reiniciaremos el proceso de dar de alta un dependiente, previamente destruyendo el formulario de introducir datos
                        if (dr2 == DialogResult.Yes)
                        {
                            fi.Dispose();
                            this.altaToolStripMenuItem.PerformClick();
                        }
                        //Si clicka en no, lo destruirá
                        else
                        {
                            fi.Dispose();
                        }
                    }
                    //Si no existía, le dejaremos crear uno al no haber ninguno aun
                    else
                    {
                        //Destruimos el formulario de introducción
                        fi.Dispose();
                        //Creamos uno nuevo para la creación de un dependiente
                        FormDependientes fd = new FormDependientes("Alta");
                        //Retiramos botones sobrantes
                        fd.label4.Dispose();
                        fd.textBox4.Dispose();
                        //Escribimos en el casillero del nss, que es de tipo solo lectura, el nss que nos ha introducido antes
                        fd.textBox1.Text = daux.NSS; //nss que hemos buscado que no existía
                        //Y esperamos
                        DialogResult dr3 = fd.ShowDialog();
                        //Si clicka en aceptar:
                        if (dr3 == DialogResult.OK)
                        {
                            //Checkeamos que ha introducido datos en los campos y que sigue pulsando en aceptar
                            while ((fd.textBox2.Text == "" | fd.textBox3.Text == "") & dr3 == DialogResult.OK)
                            {
                                //Muestra un error, y vuelve a esperar a que se pulse un botón
                                DialogResult drDelay = MessageBox.Show(this, "Debe introducir un nombre y unos apellidos para el dependiente", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                dr3 = fd.ShowDialog();
                            }
                            //Si ha escrito en los campos y sigue pulsando en aceptar, recoge el texto de los campos y da de alta el dependiente
                            if (dr3 == DialogResult.OK)
                            {
                                String nombre    = fd.textBox2.Text;
                                String apellidos = fd.textBox3.Text;
                                sd.DarAltaDependiente(new Dependiente(daux.NSS, nombre, apellidos));
                            }
                        }
                        //Si clicka en aceptar, destruirá el formulario y volverá al menú principal
                        else
                        {
                            fd.Dispose();
                        }
                    }
                    //En caso de que haya clickado en cancelar, vendrá aquí
                }
            }
            //En cualquier caso, destruimos el formulario de introducción de datos
            fi.Dispose();
        }
Beispiel #2
0
        //Método baja de un dependiente
        private void bajaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormIntroducir fi = new FormIntroducir("NºSS");

            fi.ShowDialog();
            DialogResult dr = fi.DialogResult;

            if (dr == DialogResult.OK)
            {
                Dependiente daux = new Dependiente(fi.textBox1.Text, null, null);
                Dependiente d    = sd.ObtenerInfoDependiente(daux);
                //Si el dependiente que queremos dar de baja no está, permitiremos introducir otro
                if (d == null)
                {
                    DialogResult dr2 = MessageBox.Show(this, "¿Quieres introducir otro?", "No existe un dependiente con ese NºSS", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (dr2 == DialogResult.Yes)
                    {
                        fi.Dispose();
                        this.bajaToolStripMenuItem.PerformClick();
                    }
                    else
                    {
                        fi.Dispose();
                    }
                }
                else //Si está, le enseñamos los datos y le damos la opcion de dar de baja
                {
                    fi.Dispose();
                    FormDependientes fd = new FormDependientes("Baja");
                    fd.textBox1.Text     = d.NSS;
                    fd.textBox1.ReadOnly = true;
                    fd.textBox2.Text     = d.Nombre;
                    fd.textBox2.ReadOnly = true;
                    fd.textBox3.Text     = d.Apellidos;
                    fd.textBox3.ReadOnly = true;
                    fd.textBox4.Text     = d.Comision + "";
                    fd.textBox4.ReadOnly = true;
                    fd.button1.Text      = "Dar baja";

                    DialogResult dr3 = fd.ShowDialog();
                    //si acepta darlo de baja
                    if (dr3 == DialogResult.OK)
                    {
                        //Le mostramos un aviso
                        DialogResult dr4 = MessageBox.Show(this, "¿Está seguro que desea dar de baja al dependiente?", "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                        //En caso afirmativo se borra
                        if (dr4 == DialogResult.Yes)
                        {
                            sd.DarBajaDependiente(d);
                            MessageBox.Show(this, "Dependiente eliminado", "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        }
                        //En caso negativo se vuelve al principal
                        else
                        {
                            fd.Dispose();
                        }
                    }
                    else
                    {
                        fd.Dispose();
                    }
                }
            }
            fi.Dispose();
        }