private void ActualizarEstadoCurso(int estadoCursoId) { using ApplicationDbContext db = new ApplicationDbContext(); cursoId = Convert.ToInt32(cmbCursos.SelectedValue); Curso curso = db.Cursos.Where(x => x.Id == cursoId).FirstOrDefault(); var cursoDTO = new CursoDTO { Id = curso.Id, EstadoCursoId = estadoCursoId }; cursoDTO.MapToModel(curso); db.SaveChanges(); }
private void cmbCursos_SelectionChangeCommitted(object sender, EventArgs e) { soloLectura = true; cursoId = Convert.ToInt32(cmbCursos.SelectedValue); using ApplicationDbContext db = new ApplicationDbContext(); var estadoCursoId = db.Cursos.Where(x => x.Id == cursoId).Select(x => x.EstadoCursoId).FirstOrDefault(); if (estadoCursoId == 1) { DialogResult dialogResult = MessageBox.Show("Desea Activar el curso de " + cmbCursos.Text + " ?", "Activar Cursos", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dialogResult == DialogResult.Yes) { var estados = new string[] { "Activo", "En Curso" }; var query = (from c in db.Cursos join ec in db.EstadoCursos on c.EstadoCursoId equals ec.Id where estados.Contains(ec.Nombre) select c.Denominacion).ToList(); if (query.Count > 0) { chkActivo.CheckState = CheckState.Unchecked; chkEnCurso.CheckState = CheckState.Unchecked; chkFinalizado.CheckState = CheckState.Unchecked; MessageBox.Show("No se puede Activar un curso nuevo mientras \n haya cursos en estado Activo o En Curso", "Activar Nuevo Curso", MessageBoxButtons.OK, MessageBoxIcon.Error); DeshabilitarCheck(); LoadAlumnosxCurso(); DeshabilitarInscripcion(); return; } Curso curso = db.Cursos.Where(x => x.Id == cursoId).FirstOrDefault(); var cursoDTO = new CursoDTO { Id = curso.Id, EstadoCursoId = 2 }; cursoDTO.MapToModel(curso); db.SaveChanges(); chkActivo.Checked = true; } else if (dialogResult == DialogResult.No) { chkActivo.CheckState = CheckState.Unchecked; chkEnCurso.CheckState = CheckState.Unchecked; chkFinalizado.CheckState = CheckState.Unchecked; DeshabilitarCheck(); LoadAlumnosxCurso(); DeshabilitarInscripcion(); return; } } switch (estadoCursoId) { case 2: chkActivo.CheckState = CheckState.Checked; break; case 3: chkEnCurso.CheckState = CheckState.Checked; break; case 4: chkFinalizado.CheckState = CheckState.Checked; break; } LoadAlumnosxCurso(); if (cursoId != 0 && estadoCursoId != 4) { HabilitarInscripcion(); HabilitarCheck(); } else { DeshabilitarInscripcion(); DeshabilitarCheck(); } soloLectura = false; }