// GET: Rotacion/Editar/5, permite editar una rotacion public ActionResult Editar(int?id) { tbRotacion rotacion = (from t in db.tbRotacion where t.codRotacion == id select t).SingleOrDefault(); if (rotacion != null) { //consulta para validar las fechas inicio y fin var ultimaRotacion = db.tbRotacion.Select(x => x.fechaFinal).Max(); // var primeraRotacion = db.tbRotacion.Select(x => x.fechaInicio).Min(); var rotacionU = db.tbRotacion.Where(x => x.fechaFinal == ultimaRotacion).SingleOrDefault(); // var rotacionP = db.tbRotacion.Where(x => x.fechaInicio == primeraRotacion).SingleOrDefault(); ViewBag.fechaFinUR = rotacionU.fechaFinal.Value.ToString("dd/MM/yyyy");//limite superior // ViewBag.fechaInPR = rotacionP.fechaInicio.Value.ToString("yyyy-MM-dd");//limite inferior //muestra las fechas en grande ViewBag.fechaInicio = rotacion.fechaInicio.Value.ToString("dd/MM/yyyy"); ViewBag.fechaFinal = rotacion.fechaFinal.Value.ToString("dd/MM/yyyy"); //para editarlo ViewBag.fechaIni = rotacion.fechaInicio.Value.ToString("dd/MM/yyyy");; ViewBag.fechaFin = rotacion.fechaFinal.Value.ToString("dd/MM/yyyy");; //id de la rotacion actual ViewBag.id = rotacion.codRotacion; List <tbUsuario> listaIntegrantes = (from u in db.tbUsuario where u.estado == true select u).ToList(); foreach (var integrante in rotacion.tbRotacionUsuario.Select(x => x.tbUsuario)) { listaIntegrantes.Remove(integrante); } //estudiantes y doctores por separado, si se agregan nuevos se obtiene la lista competa, en la vista se validan repetidos. List <tbUsuario> doctores = (from u in listaIntegrantes where u.codTipoUsuario == 3 select u).ToList(); List <tbUsuario> estudiantes = (from u in listaIntegrantes where u.codTipoUsuario == 2 select u).ToList(); //combox seleccionar usuarios ViewBag.codDoctor = new SelectList(doctores, "codUsuario", "nombre"); ViewBag.codEstudiante = new SelectList(estudiantes, "codUsuario", "nombre"); //lista de usuarios de la rotacion return(View(rotacion.tbRotacionUsuario.ToList())); } else { @ViewBag.errores = "Operacion invalida"; return(View("VistaDeErrores")); } }