private void btn_agregar_Click(object sender, EventArgs e)
        {
            int      run        = int.Parse(this.txt_run.Text);
            int      dv         = int.Parse(this.txt_dv.Text);
            string   nombre     = this.txt_nombre.Text;
            string   ap_pat     = this.txt_ap_pat.Text;
            string   ap_mat     = this.txt_ap_mat.Text;
            DateTime nacimiento = DateTime.Parse(this.cld_nacimiento.Text);
            string   correo     = this.txt_correo.Text;
            string   direccion  = this.txt_direccion.Text;
            bool     habilitado = this.chk_habilitado.Checked;
            string   tipo       = this.ddl_tipo.GetItemText(this.ddl_tipo.SelectedItem);
            int      unidad     = int.Parse(this.ddl_unidad.SelectedValue.ToString());

            using (ServiceWSFuncionarios.WSFuncionariosClient serviceFuncionarios = new ServiceWSFuncionarios.WSFuncionariosClient())
            {
                int salida = serviceFuncionarios.addFuncionario(run, dv, nombre, ap_pat, ap_mat, nacimiento,
                                                                correo, direccion, tipo, unidad);
                if (salida == 0)
                {
                    padreTemp.loadFuncionarios();
                    MessageBox.Show("Datos agregados con exito!");
                }
                else
                {
                    MessageBox.Show("ERROR NRO: " + salida);
                }
            }
        }
        private void btn_modificar_Click(object sender, EventArgs e)
        {
            if (direccionValida && nombreValido && correoValido && apellidoPaternoValido && apellidoMaternoValido && fechaNacimientoValida && cargoValido)
            {
                GestionadorFuncionario.ResultadoGestionFuncionario resultado = gestionador.ModificarFuncionario(funcionario);
                //Recibe el resultado de la transaccion y muestra un mensaje al usuario
                switch (resultado)
                {
                case GestionadorFuncionario.ResultadoGestionFuncionario.ApellidoPaternoVacio:
                    MessageBox.Show("No se pudo modificar el funcionario: El apellido paterno esta vacio.");
                    break;

                case GestionadorFuncionario.ResultadoGestionFuncionario.ApellidoMaternoVacio:
                    MessageBox.Show("No se pudo modificar el funcionario: El apellido materno esta vacio");
                    break;

                case GestionadorFuncionario.ResultadoGestionFuncionario.CorreoVacio:
                    MessageBox.Show("No se pudo modificar el funcionario: El correo esta vacio");
                    break;

                case GestionadorFuncionario.ResultadoGestionFuncionario.DireccionVacia:
                    MessageBox.Show("No se pudo modificar el funcionario: La direccion esta vacia.");
                    break;

                case GestionadorFuncionario.ResultadoGestionFuncionario.NombreVacio:
                    MessageBox.Show("No se pudo modificar el funcionario: El nombre esta vacio");
                    break;

                case GestionadorFuncionario.ResultadoGestionFuncionario.Invalido:
                    MessageBox.Show("Ocurrio un error no controlado al modificar.");
                    break;

                case GestionadorFuncionario.ResultadoGestionFuncionario.Valido:
                    padreTemp.loadFuncionarios();
                    MessageBox.Show("El funcionario se modificó correctamente.");
                    break;
                }
            }
            else
            {
                MessageBox.Show("No se pudo modificar el funcionario: Existen datos inválidos.");
            }
        }