C# ASP.NET MVC Basics Modeling and Presenting Data Adding Repository Methods

Syed Nadim
Syed Nadim
3,853 Points

Not sure why I am not passing the first part when I changed videogame.id == id to videogame.Id == id

Not sure why I am not passing the first part when I changed videogame.id == id to videogame.Id == id

VideoGamesRepository.cs
using Treehouse.Models;

namespace Treehouse.Data
{
    public class VideoGamesRepository
    {
        // TODO Add GetVideoGames method
        public VideoGame GetVideoGames(int id){
            VideoGame game = null; 

            foreach (var videogame in _videoGames){
                if(videogame.Id == id){
                    game = videogame; 
                    break;
                }
            }
            return game;   
        }
        // TODO Add GetVideoGame method

        private static VideoGame[] _videoGames = new VideoGame[]
        {
            new VideoGame()
            {
                Id = 1,
                Title = "Super Mario 64",
                Description = "Super Mario 64 is a 1996 platform video game developed and published by Nintendo for the Nintendo 64.",
                Characters = new string[]
                {
                    "Mario",
                    "Princess Peach",
                    "Bowser",
                    "Toad",
                    "Yoshi"
                },
                Publisher = "Nintendo",
                Favorite = true
            },
            new VideoGame()
            {
                Id = 2,
                Title = "Mario Kart 64",
                Description = "Mario Kart 64 is a 1996 go-kart racing game developed and published by Nintendo for the Nintendo 64 video game console.",
                Characters = new string[]
                {
                    "Mario",
                    "Princess Peach",
                    "Bowser",
                    "Toad",
                    "Yoshi"
                },
                Publisher = "Nintendo",
                Favorite = false
            }
        };
    }
}
VideoGame.cs
namespace Treehouse.Models
{
    // Don't make any changes to this class!
    public class VideoGame
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public string Description { get; set; }
        public string[] Characters { get; set; }
        public string Publisher { get; set; }
        public bool Favorite { get; set; }

        public string DisplayText
        {
            get
            {
                return Title + " (" + Publisher + ")";
            }
        }
    }
}

1 Answer

Steven Parker
Steven Parker
173,644 Points

It looks like the task 1 method is missing, and the task 2 method has been implemented with the wrong name.

As the instructions for task 1 say, "The GetVideoGames method shouldn't accept any parameters." All it needs to do is "return the _videoGamesprivate static field".

Then, when you move on to task 2, the method you made for task 1 will remain as it is, and you will create a new method named "GetVideoGame" (singular). This is the one that will use the "id" parameter.