public ActionResult Create(ViewModels.ViewModelExcursion nuevaExcursion)
        {
            Excursion aux   = (Excursion)Session["NuevaExcursion"];
            Excursion nueva = new Excursion();

            foreach (Estadia e in aux.ExcursionEstadias)
            {
                int     ID         = e.Id;
                Estadia AuxEstadia = db.Estadias.Find(ID);
                nueva.ExcursionEstadias.Add(AuxEstadia);
            }
            foreach (Transporte t in aux.ExcursionesTransportes)
            {
                int        ID            = t.Id;
                Transporte AuxTransporte = db.Transportes.Find(ID);
                nueva.ExcursionesTransportes.Add(AuxTransporte);
            }

            int estadias = 0; int transportes = 0; int duracion = 0;

            foreach (Estadia E in aux.ExcursionEstadias)
            {
                duracion = (E.Dias) + duracion;
            }
            foreach (Estadia E in aux.ExcursionEstadias)
            {
                estadias = ((E.Destino.Costo) * (E.Dias)) + estadias;
            }
            foreach (Transporte T in aux.ExcursionesTransportes)
            {
                transportes = T.Costo + transportes;
            }
            nueva.Costo       = estadias + transportes;
            nueva.Activo      = true;
            nueva.Duración    = duracion;
            nueva.Descripcion = nuevaExcursion.Descripcion;
            nueva.Nombre      = nuevaExcursion.Nombre;
            nueva.Cliente     = db.Usuarios.Find(nuevaExcursion.Excursion.Cliente.Id);
            if (nueva.ExcursionEstadias.Count() == 0 && nueva.ExcursionesTransportes.Count() == 0)
            {
                return(RedirectToAction("Create"));
            }
            if (nueva.Cliente == null || nueva.Nombre == null || nueva.Descripcion == null)
            {
                return(RedirectToAction("Create"));
            }
            Session["NuevaExcursion"] = null;
            db.Excursiones.Add(nueva);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        // GET: Excursiones/Create
        public ActionResult Create()
        {
            Excursion nuevaExcursion = new Excursion();

            if (Session["NuevaExcursion"] == null)
            {
                Session["NuevaExcursion"] = nuevaExcursion;
            }
            if (Session["NuevaExcursion"] != null)
            {
                nuevaExcursion = (Excursion)Session["NuevaExcursion"];
            }
            if (Session["EstadiaNueva"] != null)
            {
                Estadia nuevaEstadia   = db.Estadias.Find((int)Session["EstadiaNueva"]);
                Boolean agregarEstadia = true;
                foreach (Estadia e in nuevaExcursion.ExcursionEstadias)
                {
                    if (e.Id == nuevaEstadia.Id)
                    {
                        agregarEstadia = false;
                    }
                }
                if (agregarEstadia == true)
                {
                    nuevaExcursion.ExcursionEstadias.Add(nuevaEstadia);
                }
                Session["EstadiaNueva"]   = null;
                Session["NuevaExcursion"] = nuevaExcursion;
            }
            if (Session["EstadiaQuitar"] != null)
            {
                Estadia QuitarEstadia = db.Estadias.Find((int)Session["EstadiaQuitar"]);
                foreach (Estadia e in nuevaExcursion.ExcursionEstadias)
                {
                    if (e.Id == QuitarEstadia.Id)
                    {
                        QuitarEstadia = e;
                    }
                }
                nuevaExcursion.ExcursionEstadias.Remove(QuitarEstadia);
                int i = nuevaExcursion.ExcursionEstadias.Count();
                Session["EstadiaQuitar"]  = null;
                Session["NuevaExcursion"] = nuevaExcursion;
            }
            if (Session["TransporteNuevo"] != null)
            {
                Transporte nuevoTransporte   = db.Transportes.Find((int)Session["TransporteNuevo"]);
                Boolean    agregarTransporte = true;
                foreach (Transporte t in nuevaExcursion.ExcursionesTransportes)
                {
                    if (t.Id == nuevoTransporte.Id)
                    {
                        agregarTransporte = false;
                    }
                }
                if (agregarTransporte == true)
                {
                    nuevaExcursion.ExcursionesTransportes.Add(nuevoTransporte);
                }
                Session["TransporteNuevo"] = null;
                Session["NuevaExcursion"]  = nuevaExcursion;
            }
            if (Session["TransporteQuitar"] != null)
            {
                Transporte QuitarTransporte = db.Transportes.Find((int)Session["TransporteQuitar"]);
                foreach (Transporte t in nuevaExcursion.ExcursionesTransportes)
                {
                    if (t.Id == QuitarTransporte.Id)
                    {
                        QuitarTransporte = t;
                    }
                }
                nuevaExcursion.ExcursionesTransportes.Remove(QuitarTransporte);
                Session["TransporteQuitar"] = null;
                Session["NuevaExcursion"]   = nuevaExcursion;
            }
            var model = new ViewModels.ViewModelExcursion()
            {
                Excursion   = nuevaExcursion,
                Estadias    = EstadiasController.GetEstadias(),
                Transportes = TransportesController.GetTransportes(),
                Clientes    = UsuariosController.GetClientes()
            };

            return(View(model));
        }