internal string IntToGenreName(GameTradeDbContext context, string[] genreIdsSplit, int i) { Genre genreQuery = context.Genres.Where(g => g.Id == Int32.Parse(genreIdsSplit[i])).First(); string genre = genreQuery.GetType().GetProperty("Name").GetValue(genreQuery).ToString(); return(genre); }
public static int GenreNameToId(GameTradeDbContext context, string[] genreIdsSplit, int i) { Genre genreQuery = context.Genres.Where(g => g.Name == (genreIdsSplit[i])).First(); int genre = Int32.Parse(genreQuery.GetType().GetProperty("Id").GetValue(genreQuery).ToString()); return(genre); }
private IEnumerable <Game> BuildGames(GameTradeDbContext context, string userId) { IEnumerable <Game> query = context.Games.Where(g => g.UserId == userId) .Include(g => g.Platform) .Include(g => g.Condition) .Include(g => g.Designation); return(query); }
public AddGameViewModel(GameTradeDbContext context, string genreIds = null) { Platforms = BuildSelectListItem(Models.Extensions.GetDbSet(context, "Platforms")); Conditions = BuildSelectListItem(Models.Extensions.GetDbSet(context, "Conditions")); Designations = BuildSelectListItem(Models.Extensions.GetDbSet(context, "Designations")); Genres = BuildSelectListItem(Models.Extensions.GetDbSet(context, "Genres")); if (genreIds != null) { GenreNames = BuildGenres(context, genreIds); GenreIds = genreIds; } }
public static void AddGenres(GameTradeDbContext context, int gameId, string genreIds = null) { string[] genreIdsSplit = SplitGenreIds(genreIds); for (int i = 0; i < genreIdsSplit.Length; i++) { int genreId = GenreNameToId(context, genreIdsSplit, i); GameGenre newGameGenre = new GameGenre { GameId = gameId, GenreId = genreId }; context.GameGenres.Add(newGameGenre); context.SaveChanges(); } }
public ListViewModel(GameTradeDbContext context, string userId) { IEnumerable <Game> gameQuery = BuildGames(context, userId); Games = gameQuery; List <GameGenre> gameGenres = new List <GameGenre>(); foreach (Game game in gameQuery) { var query = context.GameGenres.Where(g => g.GameId == game.GameId).Include(g => g.Genre); foreach (var item in query) { gameGenres.Add(item); } } GameGenres = gameGenres; }
internal string BuildGenres(GameTradeDbContext context, string genreIds = null) { string genres = ""; string[] genreIdsSplit = Models.Extensions.SplitGenreIds(genreIds); for (int i = 0; i < genreIdsSplit.Length; i++) { if (i < (genreIdsSplit.Length - 1)) { string genre = IntToGenreName(context, genreIdsSplit, i); genres += genre + ", "; } else { genres += IntToGenreName(context, genreIdsSplit, i); } } return(genres); }
public static IEnumerable <Game> GetSortedQuery(GameTradeDbContext context, string userId, string sort = "") { var query = context.Games.Where(g => g.UserId == userId).Include(g => g.Platform).Include(g => g.Condition).Include(g => g.Designation); if (sort != null && sort != "Platform") { var sortedQuery = query.OrderBy(g => g.GetType().GetProperty(sort).GetValue(g)); return(sortedQuery); } if (sort == "Platform") { var sortedQuery = query.OrderBy(g => g.Platform.Name); return(sortedQuery); } else { return(query); } }
public LookupByTitleViewModel(int id, GameTradeDbContext context) { string gameid = id.ToString(); List <string> gameData = new List <string>(); XDocument xDoc = GetGamesDBInfo(gameid, "GetGame", "id"); var query = GameQuery(xDoc, gameid); var genreQuery = GenreQuery(xDoc); foreach (var item in query) { Title = item.GetType().GetProperty("title").GetValue(item).ToString(); var getPlatform = item.GetType().GetProperty("platform").GetValue(item).ToString(); PlatformId = Models.Extensions.GetPropId(getPlatform, context, "Platforms"); PlatformName = getPlatform; var getYear = item.GetType().GetProperty("year").GetValue(item).ToString(); Year = getYear.Substring(getYear.Length - 4); } StringBuilder genres = new StringBuilder(); for (int i = 0; i < genreQuery.Count; i++) { if (i < (genreQuery.Count - 1)) { int genreId = Models.Extensions.GetPropId(genreQuery[i], context, "Genres"); genres.Append(genreId + ","); } else { int genreId = Models.Extensions.GetPropId(genreQuery[i], context, "Genres"); genres.Append(genreId); } } GenreIds = genres.ToString(); GameId = id; }
public static int GetPropId(string propName, GameTradeDbContext context, string dbSetType) { try { var dbSet = GetDbSet(context, dbSetType); var query = dbSet.Single(g => g.GetType().GetProperty("Name").GetValue(g).ToString() == propName); var itemId = query.GetType().GetProperty("Id").GetValue(query).ToString(); return(Int32.Parse(itemId)); } catch (InvalidOperationException) { if (dbSetType == "Platforms") { Platform newPlatform = new Platform { Name = propName }; context.Platforms.Add(newPlatform); context.SaveChanges(); return(newPlatform.Id); } else { Genre newGenre = new Genre { Name = propName }; context.Genres.Add(newGenre); context.SaveChanges(); return(newGenre.Id); } } }
public ListController(GameTradeDbContext dbContext) { context = dbContext; }
public static IEnumerable <Object> GetDbSet(GameTradeDbContext context, string dbSet) { var newDbSet = context.GetType().GetProperty(dbSet); return((IEnumerable <Object>)newDbSet.GetValue(context)); }
public SearchController(GameTradeDbContext dbContext) { context = dbContext; }