public ActionResult PreencherDadosGameEntityJquery(int id) { GameRepository gameRepository = new GameRepository(); DeveloperPublisherRepository devPubRepository = new DeveloperPublisherRepository(); GameEntity game = gameRepository.BuscarDados(id); List <game_developerPublisher> devs = game.game_developerPublisher.Where(d => d.tipo == (int)GameDataView.tipoDeveloperPublisher.Developer).ToList(); List <game_developerPublisher> pubs = game.game_developerPublisher.Where(p => p.tipo == (int)GameDataView.tipoDeveloperPublisher.Publisher).ToList(); List <game_genre> genres = game.game_genre.ToList(); GameDataView gameDataView = GameDataView.init(); gameDataView.Id = game.id; gameDataView.id_igdb = game.id_igdb; gameDataView.Titulo = game.name; gameDataView.Descricao = game.summary; gameDataView.Nota = game.nota; gameDataView.Completo = game.completo; string arquivo = gameDataView.Imagesfolder + game.id + "_BigCover_" + game.cloudnary_id + ".jpg"; if (System.IO.File.Exists(arquivo)) { gameDataView.Imagem = "~/images/" + game.id + "_BigCover_" + game.cloudnary_id + ".jpg"; gameDataView.CloudnaryId = game.cloudnary_id; } foreach (game_developerPublisher dev in devs) { gameDataView.ListaDeveloper.Add(new developerPublisher { id = dev.id, id_igdb = devPubRepository.GetIgdbById(dev.id_developerPublisher), name = dev.developerPublisher.name }); } foreach (game_developerPublisher pub in pubs) { gameDataView.ListaPublisher.Add(new developerPublisher { id = pub.id, id_igdb = devPubRepository.GetIgdbById(pub.id_developerPublisher), name = pub.developerPublisher.name }); } foreach (game_genre genre in genres) { gameDataView.ListaGenre.Add(new genre { id = genre.id, name = genre.genre.name }); } foreach (game_platform lancamento in game.game_platform) { gameDataView.Platforms.Add(new game_platform { id = lancamento.id, release_date = lancamento.release_date, metacritic = lancamento.metacritic, preco = lancamento.preco, formato = lancamento.formato, tamanho = lancamento.tamanho, id_platform = lancamento.id_platform, id_status = lancamento.id_status, id_region = lancamento.id_region, id_rating = lancamento.id_rating, id_store = lancamento.id_store, store = lancamento.store }); } return(PartialView("FormGameView", gameDataView)); }
public void AtualizarTudoIgdb() { GamesEntities db = new GamesEntities(); IgdbService igdb = new IgdbService(); DeveloperPublisherRepository developerPublisherRepository = new DeveloperPublisherRepository(); GenreRepository genreRepository = new GenreRepository(); var lista = db.game; foreach (var game in lista) { if (game.id_igdb != null) { DadosGameResponse dados = igdb.DadosJogo((int)game.id_igdb).FirstOrDefault(); game.summary = dados.Summary; if (dados.Developers != null) { foreach (var dev in dados.Developers) { var id_dev = developerPublisherRepository.GetIdByIgdb(dev, igdb.DadosDeveloperPublisher(new int[] { dev }).FirstOrDefault().Name); var devs = db.game_developerPublisher.Where(g => g.id_game == game.id && g.id_developerPublisher == id_dev && g.tipo == 1).Any(); if (!devs) { game.game_developerPublisher.Add(new game_developerPublisher { id_developerPublisher = id_dev, id_game = game.id, tipo = 1 }); } } } if (dados.Publishers != null) { foreach (var pub in dados.Publishers) { var id_pub = developerPublisherRepository.GetIdByIgdb(pub, igdb.DadosDeveloperPublisher(new int[] { pub }).FirstOrDefault().Name); var pubs = db.game_developerPublisher.Where(g => g.id_game == game.id && g.id_developerPublisher == id_pub && g.tipo == 2).Any(); if (!pubs) { game.game_developerPublisher.Add(new game_developerPublisher { id_developerPublisher = id_pub, id_game = game.id, tipo = 2 }); } } } if (dados.Genres != null) { foreach (var genre in dados.Genres) { var id_genre = genreRepository.GetIdByIgdb(genre, igdb.DadosGenre(new int[] { genre }).FirstOrDefault().Name); var genres = db.game_genre.Where(g => g.id_game == game.id && g.id_genre == id_genre).Any(); if (!genres) { game.game_genre.Add(new game_genre { id_genre = id_genre, id_game = game.id }); } } } } } db.SaveChanges(); }