public frmDesignaciones(General.TipoOperacion tipoOperacion, frmPrincipal fp)
        {
            InitializeComponent();
            this.tipoOperacion = tipoOperacion;
            this.fp = fp;

            Negocio.Cargos oCargos = new Negocio.Cargos();
            Entidades.Cargos listaCargos = oCargos.RecuperarTodos();
            Negocio.Materias oMaterias = new Negocio.Materias();
            Entidades.Materias listaMaterias = oMaterias.RecuperarTodos();
            Negocio.Profesores oProfesores = new Negocio.Profesores();
            Entidades.Profesores listaProfesores = oProfesores.RecuperarTodos();

            this.cbxCargo.DataSource = listaCargos;
            this.cbxCargo.DisplayMember = "DescripcionCargo";
            this.cbxCargo.ValueMember = "IdCargo";

            this.cbxMateria.DataSource = listaMaterias;
            this.cbxMateria.DisplayMember = "NomMateria";
            this.cbxMateria.ValueMember = "IdMateria";

            this.cbxProfesor.DataSource = listaProfesores;
            this.cbxProfesor.DisplayMember = "NombreCompleto";
            this.cbxProfesor.ValueMember = "Legajo";

            switch (tipoOperacion)
            {
                case General.TipoOperacion.Alta:
                    {
                        this.btnBuscar.Hide();
                        this.btnBaja.Hide();
                        break;
                    }

                case General.TipoOperacion.Baja:
                    {
                        this.btnGuardar.Hide();
                        this.txtIdDesignacion.ReadOnly = false;
                        break;
                    }

                case General.TipoOperacion.Modificacion:
                    {
                        this.btnBaja.Hide();
                        this.txtIdDesignacion.ReadOnly = false;
                        break;
                    }
            }
        }
 public void traerProfesores()
 {
     Negocio.Profesores oProfesores = new Negocio.Profesores();
     Entidades.Profesores listaProfesores = oProfesores.RecuperarTodos();
     bindingSource5.DataSource = listaProfesores;
 }
        private void btnBaja_Click(object sender, EventArgs e)
        {
            if (!txtLegajo.Text.Equals(""))
            {
                if (MessageBox.Show("¿Desea dar de baja Profesor?", "Confirmar baja",
                    MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    Negocio.Profesores oProfesores = new Negocio.Profesores();
                    bool error = false;

                    try
                    {
                        oProfesores.Borrar(Convert.ToInt32(this.legajo_buscado) - 90000);
                    }
                    catch
                    {
                        MessageBox.Show("Error al dar de baja el Profesor.\nVerifique que no haya Designaciones\nque dependan de él.", "Información",
                                                                                     MessageBoxButtons.OK, MessageBoxIcon.Error);
                        error = true;
                    }
                    finally
                    {
                        if (!error)
                        {
                            MessageBox.Show("Profesor dado de baja correctamente.", "Información",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    borrarCampos();
                }
            }
            else
            {
                MessageBox.Show("Legajo incorrecto", "Error");
            }
        }
        private bool esValido()
        {
            Negocio.Profesores oProfesores = new Negocio.Profesores();
            string errores = "";

            if (tipoOperacion != General.TipoOperacion.Alta)
            {
                if ((txtLegajo.Text == "") || (!oProfesores.ExisteLegajo(Convert.ToInt32(txtLegajo.Text) - 90000)))
                {
                    errores += "-Nº de legajo incorrecto.\n";
                }
            }

            if (!((Utilidades.Validaciones.validarNumero(txtNroDoc.Text)) &&
                (txtNroDoc.Text.Length <= 8)))
            {
                errores += "-El Nº de documento no es válido.\n";
            }

            if (txtDireccion.Text == "")
            {
                errores += "-La dirección no es válida.\n";
            }

            if (txtApellido.Text == "")
            {
                errores += "-El apellido no es válido.\n";
            }

            if (txtNombre.Text == "")
            {
                errores += "-El nombre no es válido.\n";
            }

            if (!Utilidades.Validaciones.validarEmail(txtEmail.Text))
            {
                errores += "-El email no es válido.\n";
            }

            if (!fechaNacValida)
            {
                errores += "-La fecha de nacimiento no es válida.\n";
            }

            if (!fechaInicioValida)
            {
                errores += "-La fecha de inicio no es válida.\n";
            }

            if (txtTelefono.Text == "")
            {
                errores += "-El teléfono no es válido.\n";
            }

            if (txtCelular.Text == "")
            {
                errores += "-El celular no es válido.\n";
            }

            if ((txtUsuario.Text.Length < 5) || (txtUsuario.Text.Length > 30))
            {
                errores += "-El nombre de usuario debe tener entre 5 y 30 caracteres.\n";
            }

            //Verificar si se cambio el nombre de usuario
            else if ((oProfesores.ExisteNombreUsuario(txtUsuario.Text)) &&
                      (this.nombreUsuario != this.txtUsuario.Text))
            {
                errores += "-El nombre de usuario ya existe.\n";
            }

            if (this.tipoOperacion == General.TipoOperacion.Alta)
            {
                if (txtContrasenia.Text == txtRepetirContrasenia.Text)
                {
                    if (txtContrasenia.Text.Length < 5)
                    {
                        errores += "-La contraseña debe tener por lo menos 5 caracteres.\n";
                    }
                }
                else
                {
                    errores += "-Las contraseñas no coinciden.\n";
                }
            }
            else
            {
                if (!((txtContrasenia.Text == "") && (txtRepetirContrasenia.Text == "")))
                {
                    if (txtContrasenia.Text == txtRepetirContrasenia.Text)
                    {
                        if (txtContrasenia.Text.Length < 5)
                        {
                            errores += "-La contraseña debe tener por lo menos 5 caracteres.\n";
                        }
                    }
                    else
                    {
                        errores += "-Las contraseñas no coinciden.\n";
                    }
                }
            }

            if (errores == "")
            {
                return true;
            }
            else
            {
                MessageBox.Show(errores, "Error");
                return false;
            }
        }
        private void buscarProfesor()
        {
            Negocio.Profesores oProfesores = new Negocio.Profesores();

            if ((txtLegajo.Text != "") && (oProfesores.ExisteLegajo(Convert.ToInt32(txtLegajo.Text) - 90000)))
            {
                try
                {
                    Entidades.Profesor oProfesor = oProfesores.RecuperarUno(int.Parse(txtLegajo.Text) - 90000)[0];
                    cbxTipoDoc.SelectedItem = oProfesor.TipoDoc;
                    txtNroDoc.Text = oProfesor.NroDoc.ToString();
                    txtApellido.Text = oProfesor.Apellido;
                    txtDireccion.Text = oProfesor.Direccion;
                    txtNombre.Text = oProfesor.Nombre;
                    txtEmail.Text = oProfesor.Email;
                    txtNacimiento.Text = oProfesor.FechaNacimiento.ToShortDateString();
                    txtTelefono.Text = oProfesor.TelefonoFijo;
                    txtCelular.Text = oProfesor.TelefonoCelular;
                    chbActivo.Checked = oProfesor.Activo;
                    txtTitulo.Text = oProfesor.Titulo;
                    txtFechaInicio.Text = oProfesor.FechaInicio.ToShortDateString();
                    txtUsuario.Text = oProfesor.usuario.NombreUsuario;
                    this.nombreUsuario = oProfesor.usuario.NombreUsuario;
                    this.fechaNacValida = true;
                    this.fechaInicioValida = true;
                    this.legajo_buscado = txtLegajo.Text;
                }

                finally
                {
                    oProfesores = null;
                }

            }
            else
            {
                MessageBox.Show("Legajo incorrecto", "Error");
            }
        }
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            Negocio.Profesores oProfesores = new Negocio.Profesores();

            if (this.esValido())
            {
                try
                {
                    Entidades.Profesor oProfesor = new Entidades.Profesor();
                    if (tipoOperacion != General.TipoOperacion.Alta)
                    {
                        oProfesor.Legajo = Convert.ToInt32(this.txtLegajo.Text) - 90000;
                    }
                    oProfesor.Activo = chbActivo.Checked;
                    oProfesor.Apellido = txtApellido.Text;
                    oProfesor.Direccion = txtDireccion.Text;
                    oProfesor.Email = txtEmail.Text;
                    oProfesor.FechaInicio = Convert.ToDateTime(txtFechaInicio.Text.ToString());
                    oProfesor.FechaNacimiento = Convert.ToDateTime(txtNacimiento.Text.ToString());
                    oProfesor.Nombre = txtNombre.Text;
                    oProfesor.NroDoc = int.Parse(txtNroDoc.Text);
                    oProfesor.TelefonoCelular = txtCelular.Text;
                    oProfesor.TelefonoFijo = txtTelefono.Text;
                    oProfesor.TipoDoc = cbxTipoDoc.SelectedItem.ToString();
                    oProfesor.Titulo = txtTitulo.Text;
                    oProfesor.usuario = new Entidades.Usuario();
                    oProfesor.usuario.NombreUsuario = txtUsuario.Text;
                    oProfesor.usuario.Password = txtContrasenia.Text;
                    oProfesor.usuario.Rol = Entidades.Usuario.RolUsuario.Usuario;
                    if (this.tipoOperacion == General.TipoOperacion.Modificacion)
                    {
                        oProfesores.Modificar(oProfesor);
                        if (txtContrasenia.Text != "")
                        {
                            oProfesores.ModificarUsuario(oProfesor);
                        }
                        MessageBox.Show("Profesor modificado correctamente", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        int id = oProfesores.Agregar(oProfesor);
                        MessageBox.Show("Profesor agregado correctamente.\nLegajo Nº: " + id.ToString(), "Información",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }

                finally
                {
                    oProfesores = null;
                    borrarCampos();
                }

            }
        }