private void cbxCursos_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (cbxCursos.Enabled)
     {
         FillDgv(rdbParametros.Checked ? MatriculaDAL.searchMatriculasParametro(Validation.Validation.Val_Injection(txtBuscar.Text), Inicio.CurrentYear.Id, cbxCursos.Items.Count == 0 ? 0 : (cbxCursos.SelectedItem as Curso).Id) : MatriculaDAL.searchMatriculasNoParametro(Validation.Validation.Val_Injection(txtBuscar.Text), Inicio.CurrentSucursal.Id, 100));
     }
 }
 private void cbxYear_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (cbxYear.Enabled)
     {
         cbxCursos.Enabled       = false;
         cbxCursos.DataSource    = CursoDAL.getCursosByIdSucursal(Inicio.CurrentSucursal.Id, cbxYear.SelectedItem as Year);
         cbxCursos.ValueMember   = "Id";
         cbxCursos.DisplayMember = "Nombre";
         cbxCursos.Enabled       = true;
         FillDgv(rdbParametros.Checked ? MatriculaDAL.searchMatriculasParametro(Validation.Validation.Val_Injection(txtBuscar.Text), Inicio.CurrentYear.Id, cbxCursos.Items.Count == 0 ? 0 : (cbxCursos.SelectedItem as Curso).Id) : MatriculaDAL.searchMatriculasNoParametro(Validation.Validation.Val_Injection(txtBuscar.Text), Inicio.CurrentSucursal.Id, 100));
     }
 }
        private void lknSync_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            try
            {
                if (MessageBox.Show("¿Esta seguro que desea sincronizar las cuotas para este curso seleccionado? Si lo hace se crearan o eliminaran cuotas a partir de la fecha de matricula de cada estudiante si llegase a faltar algun registro.", "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    if (cbxCursos.Items.Count > 0 && cbxYear.Items.Count > 0)
                    {
                        dgvMatriculas.Enabled = false;
                        Cursor = Cursors.WaitCursor;
                        if (CuotaDAL.syncCuotas((cbxCursos.SelectedItem as Curso).Id, Inicio.CurrentUser.Id))
                        {
                            MessageBox.Show("Las cuotas del curso seleccionado han sido sincronizadas exitosamente!!!.", "Operación realizada", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            FillDgv(rdbParametros.Checked ? MatriculaDAL.searchMatriculasParametro(Validation.Validation.Val_Injection(txtBuscar.Text), cbxYear.Items.Count == 0 ? 0 : (Int64)cbxYear.SelectedValue, cbxCursos.Items.Count == 0 ? 0 : (Int64)cbxCursos.SelectedValue) : MatriculaDAL.searchMatriculasNoParametro(Validation.Validation.Val_Injection(txtBuscar.Text), Inicio.CurrentSucursal.Id, 100));
                            tmrTaskDgv.Stop();
                        }
                        else
                        {
                            MessageBox.Show("Ocurrrió un error inesperado al intentar sincronizar las cuotas del curso seleccionado.", "Operación erronea", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                        dgvMatriculas.Enabled = true;

                        Cursor = Cursors.Arrow;
                    }
                }
            }
            catch (Exception ex)
            {
                string folderName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Errores_" + Assembly.GetExecutingAssembly().GetName().Name + "_V_" + Assembly.GetExecutingAssembly().GetName().Version.ToString();
                string fileName   = "Exeptions_" + Name + ".txt";
                Validation.FormManager frmManager = new Validation.FormManager();
                frmManager.writeException(folderName, fileName, ex, "Ocurrio un error inesperado al intentar registrar el egreso");
                MessageBox.Show("Ocurrio un error inesperado al intentar sincronizar las cuotas, por favor cierre el formulario y vuelva a intentarlo. Si el problema persiste contacte con el desarrollador al correo " + Properties.Settings.Default.developerEmail, "Registro interrumpido", MessageBoxButtons.OK, MessageBoxIcon.Error);
                dgvMatriculas.Enabled = true;
                Cursor = Cursors.Arrow;
            }
        }
 private void tmrTaskDgv_Tick(object sender, EventArgs e)
 {
     FillDgv(rdbParametros.Checked ? MatriculaDAL.searchMatriculasParametro(Validation.Validation.Val_Injection(txtBuscar.Text), cbxYear.Items.Count == 0 ? 0 : (Int64)cbxYear.SelectedValue, cbxCursos.Items.Count == 0 ? 0 : (Int64)cbxCursos.SelectedValue) : MatriculaDAL.searchMatriculasNoParametro(Validation.Validation.Val_Injection(txtBuscar.Text), Inicio.CurrentSucursal.Id, 100));
     tmrTaskDgv.Stop();
 }
 private void dgvMatriculas_DoubleClick(object sender, EventArgs e)
 {
     if (dgvMatriculas.CurrentRow != null)
     {
         FrmMatricula frmmatricula = new FrmMatricula();
         frmmatricula.opc           = "updObject";
         frmmatricula.CurrentObject = MatriculaDAL.getMatriculaById((Int64)dgvMatriculas.CurrentRow.Cells[0].Value);
         frmmatricula.EditingObject = MatriculaDAL.getMatriculaById((Int64)dgvMatriculas.CurrentRow.Cells[0].Value);
         frmmatricula.ShowDialog();
         FillDgv(rdbParametros.Checked ? MatriculaDAL.searchMatriculasParametro(Validation.Validation.Val_Injection(txtBuscar.Text), Inicio.CurrentYear.Id, cbxCursos.Items.Count == 0 ? 0 : (cbxCursos.SelectedItem as Curso).Id) : MatriculaDAL.searchMatriculasNoParametro(Validation.Validation.Val_Injection(txtBuscar.Text), Inicio.CurrentSucursal.Id, 100));
     }
 }
        private void btnNuevaMatricula_Click(object sender, EventArgs e)
        {
            try
            {
            }
            catch (Exception ex)
            {
                string folderName = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Errores_" + Assembly.GetExecutingAssembly().GetName().Name + "_V_" + Assembly.GetExecutingAssembly().GetName().Version.ToString();
                string fileName   = "Exeptions_" + Name + ".txt";

                Validation.FormManager frmManager = new Validation.FormManager();
                frmManager.writeException(folderName, fileName, ex, "Ha ocurrido un error al intentar cargar la información de cursos de este control");
                MessageBox.Show("Ha ocurrido un error al intentar cargar la información cursos de este control, por favor comuniquese con el desarrollador al correo [email protected]", "Error fatal", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            List <Curso> cursos = CursoDAL.getCursosByIdSucursal(Inicio.CurrentSucursal.Id, Inicio.CurrentYear);

            if (cursos.Count > 0)
            {
                FrmMatricula frmmatricula = new FrmMatricula();
                frmmatricula.opc = "newObject";
                frmmatricula.ShowDialog();
                FillDgv(rdbParametros.Checked ? MatriculaDAL.searchMatriculasParametro(Validation.Validation.Val_Injection(txtBuscar.Text), Inicio.CurrentYear.Id, cbxCursos.Items.Count == 0 ? 0 : (cbxCursos.SelectedItem as Curso).Id) : MatriculaDAL.searchMatriculasNoParametro(Validation.Validation.Val_Injection(txtBuscar.Text), Inicio.CurrentSucursal.Id, 100));
            }
            else
            {
                MessageBox.Show("No hay cursos registrados en el año seleccionado, para matricular estudiantes primero debe registrar un curso.", "Alerta de validación", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }