Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
 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;
     }
 }
Пример #5
0
 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();
     }
 }
Пример #6
0
        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;
        }
Пример #7
0
        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);
        }
Пример #8
0
        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);
            }
        }
Пример #9
0
        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;
        }
Пример #10
0
        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);
                }
            }
        }
Пример #11
0
 public ListController(GameTradeDbContext dbContext)
 {
     context = dbContext;
 }
Пример #12
0
        public static IEnumerable <Object> GetDbSet(GameTradeDbContext context, string dbSet)
        {
            var newDbSet = context.GetType().GetProperty(dbSet);

            return((IEnumerable <Object>)newDbSet.GetValue(context));
        }
Пример #13
0
 public SearchController(GameTradeDbContext dbContext)
 {
     context = dbContext;
 }