public PlanetSelectorVM(Game.Game g, bool onlyBelongingToUsers, bool checkByDefault) : base(g)
 {
     Planets = new FilterableCollection <PlanetVM>(
         new ObservableCollection <PlanetVM>(g.AllPlanetCards
                                             .Where(e => !onlyBelongingToUsers || g.Users.Any(us =>
                                                                                              us.Planets.AllItems.ToList().Exists(pl =>
                                                                                                                                  pl.Model.Name.Equals(e.Name, StringComparison.CurrentCultureIgnoreCase))))
                                             .Select(e =>
     {
         var ret              = new PlanetVM(null, e);
         ret.PropertyChanged += (sender, args) =>
         {
             if (args.PropertyName == nameof(PlanetVM.IsSelected))
             {
                 PropChanged(nameof(SelectedPlanets));
             }
         };
         ret.IsSelected = checkByDefault;
         return(ret);
     })),
         (vm, s) => vm.Model.Name.Trim().Replace(" ", "").StartsWith(s.Trim().Replace(" ", ""),
                                                                     StringComparison.CurrentCultureIgnoreCase), new PlanetVMComparer());
 }
Esempio n. 2
0
        public ActionResult PlanetsOfSolarSystem()
        {
            // pobranie wszystkich planet do listy
            //List<Planet> AllPlanets = database.Planet.ToList();

            // JOIN tabeli zależnej Planet z tabelami głównymi
            var queryable = from planet in database.Planet
                            join type in database.TypeOfPlanet on planet.Type equals type.IDType
                            join life in database.IsThereLife on planet.Life equals life.IDLife
                            join system in database.PlanetarySystem on planet.PlanetarySystem equals system.IDPlanetarySystem
                            select new { Name = planet.Name, Type = type.Type, Mass = planet.Mass, Radius = planet.Radius, Life = life.Life, PlanetarySystem = system.System, Image = planet.Image };

            // stworzenie listy obietków klasy PlanetVM
            List <PlanetVM> ViewPlanets = new List <PlanetVM>();

            // dodanie do utworzonej listy planety stworzone na podstawie konstruktora w klasie PlanetVM
            foreach (var Planet in queryable)
            {
                PlanetVM viewPlanet = new PlanetVM(Planet.Name, Planet.Type, Planet.Mass, Planet.Radius, Planet.Life, Planet.PlanetarySystem, Planet.Image);
                ViewPlanets.Add(viewPlanet);
            }

            return(View(ViewPlanets));
        }
 public PlanetSearchCommand(PlanetVM vm)
 {
     VM = vm;
 }