public ActionResult Create()
        {
            Aerolinea aerolinea = new Aerolinea();
            aerolinea.Tripulantes = new List<Tripulante>();
            this.AsignarTripulantes(aerolinea);
            return View();

            //Aerolinea aerolinea = new Aerolinea();
            //aerolinea.Tripulantes = new List<Tripulante>();
            //this.AsignarTripulantes(aerolinea);

            //return this.View();
        }
Beispiel #2
0
 public void Eliminar(Aerolinea Model)
 {
     dal.Eliminar(Model);
 }
Beispiel #3
0
 public void Editar(Aerolinea Model)
 {
     dal.Editar(Model);
 }
Beispiel #4
0
 public void Crear(Aerolinea Model)
 {
     dal.Crear(Model);
 }
Beispiel #5
0
 public void Eliminar(Aerolinea Model)
 {
     db.Entry(Model).State = EntityState.Deleted;
     db.Aerolineas.Remove(Model);
     db.SaveChanges();
 }
Beispiel #6
0
 public void Editar(Aerolinea Model)
 {
     db.Entry(Model).State = EntityState.Modified;
     db.SaveChanges();
 }
Beispiel #7
0
 public void Crear(Aerolinea Model)
 {
     db.Aerolineas.Add(Model);
     db.SaveChanges();
 }
        private void ActualizarAerolineaTripulante(Aerolinea aerolineaUpdate, String[] tripulantesSeleccionados)
        {
            if (tripulantesSeleccionados == null)
            {
                aerolineaUpdate.Tripulantes = new List<Tripulante>();
                return;
            }

            var tripulantesSeleccionadosHS = new HashSet<String>(tripulantesSeleccionados);
            var aerolineaTripulante = new HashSet<Int32>(aerolineaUpdate.Tripulantes.Select(c => c.TripulanteID));

            foreach (var tripulante in db.Tripulantes)
            {
                if (tripulantesSeleccionadosHS.Contains(tripulante.TripulanteID.ToString()))
                {
                    // Tripulante sí marcado
                    if (!aerolineaTripulante.Contains(tripulante.TripulanteID))
                    {
                        // Aerolinea sin el tripulante lo adiciona.
                        aerolineaUpdate.Tripulantes.Add(tripulante);
                    }
                }
                else
                {
                    // Tripulante no marcado
                    if (aerolineaTripulante.Contains(tripulante.TripulanteID))
                    {
                        // Aerolinea con el tripulante lo elimina.
                        aerolineaUpdate.Tripulantes.Remove(tripulante);
                    }
                }
            }

            //if (tripulantesSeleccionados == null)
            //{
            //    aerolineaUpdate.Tripulantes = new List<Tripulante>();
            //    return;
            //}

            //var tripulantesSeleccionadosHS = new HashSet<String>(tripulantesSeleccionados);
            //var aerolineaTripulante = new HashSet<Int32>(aerolineaUpdate.Tripulantes.Select(t => t.TripulanteID));
            //var tripulantes = tripulanteBLL.ListarTodos();

            //foreach (var item in tripulantes)
            //{
            //    if (tripulantesSeleccionadosHS.Contains(item.TripulanteID.ToString()))
            //    {
            //        // Tripulante sí marcado
            //        if (!aerolineaTripulante.Contains(item.TripulanteID))
            //        {
            //            // Aerolinea sin el tripulante lo adiciona.
            //            aerolineaUpdate.Tripulantes.Add(item);
            //        }
            //    }
            //    else
            //    {
            //        // Tripulante no marcado
            //        if (aerolineaTripulante.Contains(item.TripulanteID))
            //        {
            //            // Aerolinea con el tripulante lo elimina.
            //            aerolineaUpdate.Tripulantes.Remove(item);
            //        }
            //    }
            //}
        }
        private void AsignarTripulantes(Aerolinea aerolinea)
        {
            var listaTripulantes = db.Tripulantes;
            var aerolineaTripulante = new HashSet<Int32>(aerolinea.Tripulantes.Select(c => c.TripulanteID));
            var model = new List<TripulanteLista>();

            foreach (var tripulante in listaTripulantes)
            {
                model.Add(new TripulanteLista
                {
                    TripulanteID = tripulante.TripulanteID,
                    Nombre = tripulante.Nombre,
                    Seleccionado = aerolineaTripulante.Contains(tripulante.TripulanteID)
                });
            }

            ViewBag.Tripulantes = model;

            //var tripulantes = tripulanteBLL.ListarTodos();
            //var aerolineaTripulante = new HashSet<Int32>(aerolinea.Tripulantes.Select(t => t.TripulanteID));
            //var model = new List<TripulanteLista>();

            //foreach (var item in tripulantes)
            //{
            //    model.Add(new TripulanteLista
            //    {
            //        TripulanteID = item.TripulanteID, 
            //        Nombre = item.Nombre, 
            //        Seleccionado = aerolineaTripulante.Contains(item.TripulanteID)
            //    });
            //}

            //ViewBag.Tripulantes = model;
        }