public static void UpdEgresado(EgresadoBE oEgresado, int Estado)
        {
            try
            {
                DateTime o1 = new DateTime(oEgresado.FechaNacimiento.Year, oEgresado.FechaNacimiento.Month, oEgresado.FechaNacimiento.Day);
                db_ControlEgresadosDataSet dst = new db_ControlEgresadosDataSet();
                DA.db_ControlEgresadosDataSetTableAdapters.EgresadoTableAdapter dfd = new DA.db_ControlEgresadosDataSetTableAdapters.EgresadoTableAdapter();

                dfd.UpdEgresado(oEgresado.Nombres, oEgresado.ApellidoPaterno, oEgresado.ApellidoMaterno, oEgresado.DNI, oEgresado.FechaNacimiento, oEgresado.Direccion, oEgresado.Departamento, oEgresado.Provincia, oEgresado.Distrito, oEgresado.Telefono, oEgresado.Celular, oEgresado.Email, oEgresado.AñoEgreso, Estado, oEgresado.IdEgresado);

                if (oEgresado.Detalle != null && oEgresado.Detalle.Count > 0 && Estado == (int)EstadoOperacion.Activo)
                {
                    oEgresado.Detalle.ForEach(o => o.IdEgresado = oEgresado.IdEgresado);

                    foreach (EgresadoDetalleBE p in oEgresado.Detalle)
                    {
                        if (p.Correlativo == 0)
                            EgresadoDetalleBR.InsDetalle(p);
                        else
                            EgresadoDetalleBR.UpdDetalle(p, (int)EstadoOperacion.Activo);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        public static EgresadoBE GetEgresado(int IdEgresado)
        {
            EgresadoBE oEgresado;

            try
            {
                db_ControlEgresadosDataSet dst = new db_ControlEgresadosDataSet();
                DA.db_ControlEgresadosDataSetTableAdapters.EgresadoTableAdapter dfd = new DA.db_ControlEgresadosDataSetTableAdapters.EgresadoTableAdapter();

                dfd.GetEgresadobyId(IdEgresado);
                dfd.FillEgresadobyId(dst.Egresado, IdEgresado);

                oEgresado = new EgresadoBE(dst.Egresado.FirstOrDefault());
                oEgresado.Detalle = EgresadoDetalleBR.ListEgresadoDetalle(oEgresado.IdEgresado);
            }
            catch (Exception)
            {
                throw;
            }

            return oEgresado;
        }
        public static void InsEgresado(EgresadoBE oEgresado)
        {
            try
            {
                DateTime o1 = new DateTime(oEgresado.FechaNacimiento.Year, oEgresado.FechaNacimiento.Month, oEgresado.FechaNacimiento.Day);
                db_ControlEgresadosDataSet dst = new db_ControlEgresadosDataSet();
                DA.db_ControlEgresadosDataSetTableAdapters.EgresadoTableAdapter dfd = new DA.db_ControlEgresadosDataSetTableAdapters.EgresadoTableAdapter();

                int ultimo = Convert.ToInt32(dfd.GetUltimoEgresado()) + 1;

                dfd.InsEgresado(ultimo, oEgresado.Nombres, oEgresado.ApellidoPaterno, oEgresado.ApellidoMaterno, oEgresado.DNI, o1, oEgresado.Direccion, oEgresado.Departamento, oEgresado.Provincia, oEgresado.Distrito, oEgresado.Telefono, oEgresado.Celular, oEgresado.Email, oEgresado.AñoEgreso, oEgresado.Estado, UsuarioBE.IdUsuario);

                oEgresado.IdEgresado = ultimo;

                if (oEgresado.Detalle != null && oEgresado.Detalle.Count > 0)
                    oEgresado.Detalle.ForEach(o => o.IdEgresado = oEgresado.IdEgresado);
                    oEgresado.Detalle.ToList().ForEach(o => EgresadoDetalleBR.InsDetalle(o));
            }
            catch (Exception)
            {
                throw;
            }
        }
        private void Nuevo()
        {
            oEgresado = new EgresadoBE();
            bsrEgresadosDetalle.DataSource = oEgresado.Detalle;
            EstadoFormulario = EstadoForm.Insertando;
            tabEgresado.SelectTab(tpgRegistrar);

            LimpiarEgresado();
            LimpiarEgresadoDetalle();
        }
        private void Eliminar()
        {
            try
            {
                if (MessageBox.Show("¿Esta seguro de Eliminar el Registro?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    EgresadoBR.UpdEgresado(oEgresado, Convert.ToInt32(EstadoOperacion.Inactivo));

                    MessageBox.Show("Se Eliminó Satisfactoriamente.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);

                    LimpiarEgresado();
                    LimpiarEgresadoDetalle();
                    oEgresado = null;
                    EstadoFormulario = EstadoForm.Vacio;
                    bsrEgresadosDetalle.Clear();
                    bsrEgresadosDetalle.ResetBindings(false);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("No se pudo realizar la operación." + Environment.NewLine + ex.ToString(), this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void CargarEgresado(int IdEgresado)
        {
            try
            {
                LimpiarEgresado();
                LimpiarEgresadoDetalle();

                oEgresado = new EgresadoBE();
                oEgresado = EgresadoBR.GetEgresado(IdEgresado);

                txtNombres.Text = oEgresado.Nombres;
                txtApellidoPaterno.Text = oEgresado.ApellidoPaterno;
                txtApellidoMaterno.Text = oEgresado.ApellidoMaterno;
                txtDNI.Text = oEgresado.DNI;
                dtpFechaNac.Value = oEgresado.FechaNacimiento;
                txtDireccion.Text = oEgresado.Direccion;
                txtDistrito.Text = oEgresado.Distrito;
                txtProvincia.Text = oEgresado.Provincia;
                txtTelefono.Text = oEgresado.Telefono;
                txtCelular.Text = oEgresado.Celular;
                txtEmail.Text = oEgresado.Email;
                txtAnoEgreso.Text = oEgresado.AñoEgreso.ToString();

                bsrEgresadosDetalle.DataSource = oEgresado.Detalle;
                bsrEgresadosDetalle.ResetBindings(false);
            }
            catch (Exception ex)
            {
                MessageBox.Show("No se pudo cargar los datos correctamente." + Environment.NewLine + ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 private void Cancelar()
 {
     try
     {
         DialogResult res = MessageBox.Show("¿Desea cancelar la operación actual?" + Environment.NewLine + "Perderá los cambios realizados.", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
         if (res == DialogResult.Yes)
         {
             if (EstadoFormulario == EstadoForm.Insertando)
             {
                 LimpiarEgresado();
                 LimpiarEgresadoDetalle();
                 oEgresado = null;
                 EstadoFormulario = EstadoForm.Vacio;
             }
             else if (EstadoFormulario == EstadoForm.Modificando)
             {
                 CargarEgresado(oEgresado.IdEgresado);
                 EstadoFormulario = EstadoForm.Navegando;
             }
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Se ha Producido un error" + Environment.NewLine + ex.ToString(), "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }