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