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

Martti Miller
Martti Miller
4,055 Points

I get the error "Does your 'GetVideoGames' method not allow any parameters?" Code seems to be written as in video.

I can't find a solution to this error. How can I move on?

VideoGamesRepository.cs
using Treehouse.Models;

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

            foreach (var videoGame in _videoGames)
            {                
                if (videoGame.Id == id)
                {
                    videoGameToReturn = videoGame;
                    break;
                }
            }
            return videoGameToReturn;
        }
        // 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 + ")";
            }
        }
    }
}

2 Answers

Steven Parker
Steven Parker
174,115 Points

Recheck the instructions for task 1, they say:

  • The GetVideoGames method shouldn't accept any parameters.
  • The GetVideoGames method should return the _videoGames private static field.

The code here is doing something completely different. In fact, it looks a lot like the "GetVideoGame" (singular) methad that will be created for task 2. But you still need to observe this hint also given in the instructions: "Important: In each task of this code challenge, the code you write should be added to the code from the previous task". So the task 1 code for "GetVideoGames" (plural) should remain as-is when you create the task 2 code.

there is one method that you have to create for each task, in the first task GetVideoGames with "s" in the second task make a other method under the first one you created in the previous task "GetVideoGame" without "s"