Пример #1
0
        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 }));
        }