public ActionResult EditarOperadorDeFlota([Bind(Include = "Id,Nombre,TipoLicencia,UsuarioId,AutoId,FlotaId")] CreacionOperador model) { Flota flota = db.Flotas.Where(f => f.Id == model.FlotaId).FirstOrDefault(); if (ModelState.IsValid == false) { Operador operador = flota.Operadores.Where(a => a.Id == model.Id).FirstOrDefault(); List <Usuario> usuariosCandidatos = db.Usuarios.Where(u => u.OperadorId == null && u.Rol == Usuario.RolUsuario.Normal).ToList(); List <Auto> autosCandidatos = flota.Autos.Where(a => a.OperadorId == null).ToList(); if (operador.Usuario != null) { Usuario userActual = db.Usuarios.Where(u => u.Id == operador.Usuario.Id).FirstOrDefault(); usuariosCandidatos.Add(userActual); usuariosCandidatos.Add(new Usuario() { Id = 0, Email = "No asignar" }); usuariosCandidatos.Reverse(); } //if (operador.Auto != null) //{ // Auto autoActual = flota.Autos.Where(a => a.Id == operador.Auto.Id).FirstOrDefault(); // autosCandidatos.Add(autoActual); // autosCandidatos.Add(new Auto() { Id = 0, NombreVehiculo = "No asignar" }); // autosCandidatos.Reverse(); //} if (operador.Autos.Count > 0) { int idAuto = operador.Autos.First().Id; Auto autoActual = flota.Autos.Where(a => a.Id == idAuto).FirstOrDefault(); autosCandidatos.Add(autoActual); autosCandidatos.Add(new Auto() { Id = 0, NombreVehiculo = "No asignar" }); autosCandidatos.Reverse(); } ViewBag.UsuarioId = new SelectList(usuariosCandidatos, "Id", "Email"); ViewBag.AutoId = new SelectList(autosCandidatos, "Id", "NombreVehiculo"); ViewBag.FlotaId = flota.Id; return(View("CrearOperadorEnFlota", model)); } Operador.EditarOperador(db, model.FlotaId, model.Id, model.Nombre, model.TipoLicencia, model.UsuarioId, model.AutoId); return(RedirectToAction("OperadoresFlota", new { id = model.FlotaId })); }