Exemplo n.º 1
0
        public Film ToModel(star_wars_apiContext context)
        {
            Film film = context.Film.Find(this.id);

            bool newObject = false;

            if (film == null)
            {
                newObject         = true;
                film              = new Film();
                film.characterIds = new List <FilmCharacter>();
                film.planetIds    = new List <FilmPlanet>();
                film.speciesIds   = new List <FilmSpecies>();
                film.starshipIds  = new List <FilmStarship>();
                film.vehicleIds   = new List <FilmVehicle>();
            }

            film.id           = this.id;
            film.created      = this.created;
            film.edited       = this.edited;
            film.director     = this.director;
            film.episodeId    = this.episodeId;
            film.openingCrawl = this.openingCrawl;
            film.producer     = this.producer;
            film.releaseDate  = this.releaseDate;
            film.title        = this.title;

            if (newObject == false)
            {
                // many-many mapping classes have the IDs as foreign keys - if the object does not yet exist it cannot be linked to other objects.
                foreach (int characterId in this.characterIds)
                {
                    if (context.Character.Find(characterId) != null)
                    {
                        FilmCharacter filmCharacter = context.FilmCharacter.Find(this.id, characterId);
                        if (filmCharacter == null)
                        {
                            filmCharacter = new FilmCharacter(this.id, characterId);
                        }
                        if (film.characterIds.Contains(filmCharacter) == false)
                        {
                            film.characterIds.Add(filmCharacter);
                        }
                    }
                }

                foreach (int planetId in this.planetIds)
                {
                    if (context.Planet.Find(planetId) != null)
                    {
                        FilmPlanet filmPlanet = context.FilmPlanet.Find(this.id, planetId);
                        if (filmPlanet == null)
                        {
                            filmPlanet = new FilmPlanet(this.id, planetId);
                        }
                        if (film.planetIds.Contains(filmPlanet) == false)
                        {
                            film.planetIds.Add(filmPlanet);
                        }
                    }
                }

                foreach (int speciesId in this.speciesIds)
                {
                    if (context.Species.Find(speciesId) != null)
                    {
                        FilmSpecies filmSpecies = context.FilmSpecies.Find(this.id, speciesId);
                        if (filmSpecies == null)
                        {
                            filmSpecies = new FilmSpecies(this.id, speciesId);
                        }
                        if (film.speciesIds.Contains(filmSpecies) == false)
                        {
                            film.speciesIds.Add(filmSpecies);
                        }
                    }
                }

                foreach (int starshipId in this.starshipIds)
                {
                    if (context.Starship.Find(starshipId) != null)
                    {
                        FilmStarship filmStarship = context.FilmStarship.Find(this.id, starshipId);
                        if (filmStarship == null)
                        {
                            filmStarship = new FilmStarship(this.id, starshipId);
                        }
                        if (film.starshipIds.Contains(filmStarship) == false)
                        {
                            film.starshipIds.Add(filmStarship);
                        }
                    }
                }

                foreach (int vehicleId in this.vehicleIds)
                {
                    if (context.Vehicle.Find(vehicleId) != null)
                    {
                        FilmVehicle filmVehicle = context.FilmVehicle.Find(this.id, vehicleId);
                        if (filmVehicle == null)
                        {
                            filmVehicle = new FilmVehicle(this.id, vehicleId);
                        }
                        if (film.vehicleIds.Contains(filmVehicle) == false)
                        {
                            film.vehicleIds.Add(filmVehicle);
                        }
                    }
                }
            }
            return(film);
        }
Exemplo n.º 2
0
        public Starship ToModel(star_wars_apiContext context)
        {
            Starship starship = context.Starship.Find(this.id);

            bool newObject = false;

            if (starship == null)
            {
                newObject = true;
                starship  = new Starship();
            }

            starship.id               = this.id;
            starship.created          = this.created;
            starship.edited           = this.edited;
            starship.mglt             = this.mglt;
            starship.hyperdriveRating = this.hyperdriveRating;
            starship.starshipClass    = this.starshipClass;
            starship.cargoCapacity    = this.cargoCapacity;
            starship.consumables      = this.consumables;
            starship.costInCredits    = this.costInCredits;
            starship.crew             = this.crew;
            starship.length           = this.length;
            starship.manufacturer     = this.manufacturer;
            starship.model            = this.model;
            starship.name             = this.name;
            starship.passengers       = this.passengers;
            starship.filmIds          = new List <FilmStarship>();
            starship.pilotIds         = new List <StarshipCharacter>();

            if (newObject == false)
            {
                // many-many mapping classes have the IDs as foreign keys - if the object does not yet exist it cannot be linked to other objects.
                foreach (int filmId in this.filmIds)
                {
                    if (context.Film.Find(filmId) != null)
                    {
                        FilmStarship filmStarship = context.FilmStarship.Find(filmId, this.id);
                        if (filmStarship == null)
                        {
                            starship.filmIds.Add(new FilmStarship(filmId, this.id));
                        }
                        else
                        {
                            starship.filmIds.Add(filmStarship);
                        }
                    }
                }

                foreach (int characterId in this.pilotIds)
                {
                    if (context.Character.Find(characterId) != null)
                    {
                        StarshipCharacter starshipCharacter = context.StarshipCharacter.Find(this.id, characterId);
                        if (starshipCharacter == null)
                        {
                            starship.pilotIds.Add(new StarshipCharacter(this.id, characterId));
                        }
                        else
                        {
                            starship.pilotIds.Add(starshipCharacter);
                        }
                    }
                }
            }
            return(starship);
        }