public ActionResult CrearAutoEnFlota([Bind(Include = "Id,NombreVehiculo,Patente,Marca,Modelo,Year,KilometrajeActual,TipoVehiculoId,OperadorId,FlotaId")] CreacionAuto model)
        {
            Flota flota = db.Flotas.Where(f => f.Id == model.FlotaId).FirstOrDefault();

            if (ModelState.IsValid == false)
            {
                List <Operador> operadoresSinAuto = flota.Operadores.Where(o => o.Autos.Count == 0).ToList();
                //List<Operador> operadoresSinAuto = flota.Operadores.Where(o => o.Auto == null).ToList();
                operadoresSinAuto.Add(new Operador()
                {
                    Id = 0, Nombre = "No asignar"
                });
                operadoresSinAuto.Reverse();

                List <TipoVehiculo> tipoVehiculos = flota.TiposVehiculo.ToList();
                tipoVehiculos.Add(new TipoVehiculo()
                {
                    Id = 0, Tipo = "No asignar"
                });
                tipoVehiculos.Reverse();

                ViewBag.OperadorId     = new SelectList(operadoresSinAuto, "Id", "Nombre");
                ViewBag.TipoVehiculoId = new SelectList(tipoVehiculos, "Id", "Tipo");
                ViewBag.FlotaId        = flota.Id;
                return(View("CrearAutoEnFlota", model));
            }


            TipoVehiculo tipo = flota.TiposVehiculo.Where(t => t.Id == model.TipoVehiculoId).FirstOrDefault();

            Auto.CrearAuto(db, model.NombreVehiculo, model.Patente, tipo, model.Marca, model.Modelo, model.Year, model.KilometrajeActual, model.FlotaId, model.OperadorId);

            return(RedirectToAction("AutosFlota", new { id = model.FlotaId }));
        }
        public ActionResult CrearAuto([Bind(Include =
                                                "Id,NombreVehiculo,Marca,Modelo,Year,Patente,KilometrajeActual,TipoVehiculoId,FlotaId")] CreacionAuto model)
        {
            if (ModelState.IsValid == false)
            {
                RellenarTodasFlotas();
                ViewBag.FlotaId = new SelectList(flotas, "Id", "Nombre");
                return(View("CrearAuto", model));
            }

            Auto.CrearAuto(db, model.NombreVehiculo, model.Patente, null, model.Marca, model.Modelo, model.Year, model.KilometrajeActual, model.FlotaId);

            return(RedirectToAction("AdminAutos"));
        }
        // GET: SuperAdmin/EditarAuto/0
        public ActionResult EditarAuto(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Auto auto = db.Autos.Find(id);

            if (auto == null)
            {
                return(HttpNotFound());
            }

            CreacionAuto modeloAuto = new CreacionAuto()
            {
                Id                = auto.Id,
                NombreVehiculo    = auto.NombreVehiculo,
                Patente           = auto.Patente,
                Marca             = auto.Marca,
                Modelo            = auto.Modelo,
                Year              = auto.Year,
                KilometrajeActual = auto.KilometrajeActual,
                FlotaId           = 0
            };

            if (auto.Flota != null)
            {
                modeloAuto.FlotaId = auto.Flota.Id;
            }


            RellenarTodasFlotas();
            SelectList selectFlotas = new SelectList(flotas, "Id", "Nombre", modeloAuto.FlotaId);

            ViewBag.FlotaId = selectFlotas;
            return(View(modeloAuto));
        }
        public ActionResult EditarAutoDeFlota(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());
            }

            Auto auto = flota.Autos.Where(o => o.Id == id).FirstOrDefault();

            if (auto == null)
            {
                return(HttpNotFound());
            }

            CreacionAuto modeloAuto = new CreacionAuto()
            {
                Id                = auto.Id,
                NombreVehiculo    = auto.NombreVehiculo,
                Patente           = auto.Patente,
                Marca             = auto.Marca,
                Modelo            = auto.Modelo,
                Year              = auto.Year,
                KilometrajeActual = auto.KilometrajeActual,
                FlotaId           = flota.Id,
                OperadorId        = 0,
                TipoVehiculoId    = 0
            };

            List <Operador> operadoresSinAuto = flota.Operadores.Where(o => o.Autos.Count == 0).ToList();

            //List<Operador> operadoresSinAuto = flota.Operadores.Where(o => o.Auto == null).ToList();
            if (auto.OperadorId != null)
            {
                modeloAuto.OperadorId = auto.Operador.Id;
                Operador operadorActual = flota.Operadores.Where(o => o.Id == auto.Operador.Id).FirstOrDefault();
                operadoresSinAuto.Add(operadorActual);
            }
            operadoresSinAuto.Add(new Operador()
            {
                Id = 0, Nombre = "No asignar"
            });
            operadoresSinAuto.Reverse();

            List <TipoVehiculo> tipoVehiculos = flota.TiposVehiculo.ToList();

            if (auto.TipoVehiculo != null)
            {
                modeloAuto.TipoVehiculoId = auto.TipoVehiculo.Id;
            }
            tipoVehiculos.Add(new TipoVehiculo()
            {
                Id = 0, Tipo = "No asignar"
            });
            tipoVehiculos.Reverse();

            ViewBag.OperadorId     = new SelectList(operadoresSinAuto, "Id", "Nombre", modeloAuto.OperadorId);
            ViewBag.TipoVehiculoId = new SelectList(tipoVehiculos, "Id", "Tipo", modeloAuto.TipoVehiculoId);

            ViewBag.FlotaId = flota.Id;
            return(View(modeloAuto));
        }