コード例 #1
0
        // 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"));
            }
        }