コード例 #1
0
        public void GetPerformances_RetrievesDataFromDB_DictionaryOfInfo()
        {
            //Arrange
            Band testBand = new Band("Wild Nothing", 5);

            testBand.Save();
            Venue testVenue1 = new Venue("Doug Fir", "Medium", 300);

            testVenue1.Save();
            Venue testVenue2 = new Venue("Mississippi Studios", "Medium", 300);

            testVenue2.Save();
            Dictionary <int, string> expectedPerformances = new Dictionary <int, string>()
            {
                { testVenue1.Id, testVenue1.Name },
                { testVenue2.Id, testVenue2.Name }
            };

            //Act
            testBand.AddPerformance(testVenue1.Id);
            testBand.AddPerformance(testVenue2.Id);
            Dictionary <int, string> retrievedPerformances = testBand.GetPerformances();

            //Assert
            Assert.Equal(expectedPerformances, retrievedPerformances);
        }
コード例 #2
0
 public void Test_GetVenues()
 {
     Venue testVenue = new Venue("123 Fakestreet", "Fakename Center");
       testVenue.Save();
       Band testBand = new Band("Pazz", "Jeff and the Baboons");
       testBand.Save();
       testBand.AddPerformance(testVenue.id);
       Assert.Equal(testVenue.id, testBand.GetVenues()[0].id);
 }
コード例 #3
0
        public HomeModule()
        {
            Get["/"] = _ => View["index.cshtml"];

////BANDS////
            Get["/bands"] = _ => {
                List <Band> allBands = Band.GetAll();
                return(View["all_bands.cshtml", allBands]);
            };

            Get["/bands/new"] = _ => View["new_band_form.cshtml"];

            Post["/bands/new"] = _ => {
                string newBandName    = Request.Form["band-name"];
                int    newBandMembers = int.Parse(Request.Form["number-members"]);
                Band   newBand        = new Band(newBandName, newBandMembers);
                newBand.Save();
                return(View["band.cshtml", newBand]);
            };

            Get["/bands/{id}"] = parameters => {
                Band foundBand = Band.Find(parameters.id);
                return(View["band.cshtml", foundBand]);
            };

            Get["/bands/{id}/update"] = parameters => {
                Band foundBand = Band.Find(parameters.id);
                return(View["band_update.cshtml", foundBand]);
            };

            Patch["/bands/update"] = parameters => {
                string newBandName    = Request.Form["band-name"];
                int    newBandMembers = int.Parse(Request.Form["number-members"]);
                int    targetId       = int.Parse(Request.Form["target-id"]);
                Band.Update(targetId, newBandName, newBandMembers);
                Band foundBand = Band.Find(targetId);
                return(View["band.cshtml", foundBand]);
            };

            Delete["/bands/delete"] = _ => {
                int targetId = int.Parse(Request.Form["target-id"]);
                Band.Delete(targetId);
                List <Band> allBands = Band.GetAll();
                return(View["all_bands.cshtml", allBands]);
            };

            Delete["/bands/delete_all"] = _ => {
                Band.DeleteAll();
                List <Band> allBands = Band.GetAll();
                return(View["all_bands.cshtml", allBands]);
            };


////VENUES////
            Get["/venues"] = _ => {
                List <Venue> allVenues = Venue.GetAll();
                return(View["all_venues.cshtml", allVenues]);
            };

            Get["/venues/new"] = _ => View["new_venue_form.cshtml"];

            Post["/venues/new"] = _ => {
                string newVenueName     = Request.Form["venue-name"];
                string newVenueSize     = Request.Form["venue-size"];
                int    newVenueCapacity = int.Parse(Request.Form["venue-capacity"]);
                Venue  newVenue         = new Venue(newVenueName, newVenueSize, newVenueCapacity);
                newVenue.Save();
                return(View["venue.cshtml", newVenue]);
            };

            Get["/venues/{id}"] = parameters => {
                Venue foundVenue = Venue.Find(parameters.id);
                return(View["venue.cshtml", foundVenue]);
            };

            Get["/venues/{id}/update"] = parameters => {
                Venue foundVenue = Venue.Find(parameters.id);
                return(View["venue_update.cshtml", foundVenue]);
            };

            Patch["/venues/update"] = parameters => {
                string newVenueName     = Request.Form["venue-name"];
                string newVenueSize     = Request.Form["venue-size"];
                int    newVenueCapacity = int.Parse(Request.Form["venue-capacity"]);
                int    targetId         = int.Parse(Request.Form["target-id"]);
                Venue.Update(targetId, newVenueName, newVenueSize, newVenueCapacity);
                Venue foundVenue = Venue.Find(targetId);
                return(View["venue_update.cshtml", foundVenue]);
            };

            Delete["/venues/delete"] = _ => {
                int targetId = int.Parse(Request.Form["target-id"]);
                Venue.Delete(targetId);
                List <Venue> allVenues = Venue.GetAll();
                return(View["all_venues.cshtml", allVenues]);
            };

            Delete["/venues/delete_all"] = _ => {
                Venue.DeleteAll();
                List <Venue> allVenues = Venue.GetAll();
                return(View["all_venues.cshtml", allVenues]);
            };

////GENRES////
            Get["/genres"] = _ => {
                List <Genre> allGenres = Genre.GetAll();
                return(View["all_genres.cshtml", allGenres]);
            };

            Get["/genres/new"] = _ => View["new_genre_form.cshtml"];

            Post["/genres/new"] = _ => {
                string newGenreName = Request.Form["genre-name"];
                Genre  newGenre     = new Genre(newGenreName);
                newGenre.Save();
                return(View["genre.cshtml", newGenre]);
            };

            Get["/genres/{id}"] = parameters => {
                Genre foundGenre = Genre.Find(parameters.id);
                return(View["genre.cshtml", foundGenre]);
            };

            Delete["/genres/delete"] = _ => {
                int targetId = int.Parse(Request.Form["target-id"]);
                Genre.Delete(targetId);
                List <Genre> allGenres = Genre.GetAll();
                return(View["all_genres.cshtml", allGenres]);
            };

            Delete["/genres/delete_all"] = _ => {
                Genre.DeleteAll();
                List <Genre> allGenres = Genre.GetAll();
                return(View["all_genres.cshtml", allGenres]);
            };

            Get["/genres/{id}/update"] = parameters => {
                Genre foundGenre = Genre.Find(parameters.id);
                return(View["genre_update.cshtml", foundGenre]);
            };

            Patch["/genres/update"] = parameters => {
                string newGenreName = Request.Form["genre-name"];
                int    targetId     = int.Parse(Request.Form["target-id"]);
                Genre.Update(targetId, newGenreName);
                Genre foundGenre = Genre.Find(targetId);
                return(View["genre_update.cshtml", foundGenre]);
            };

            Get["/venue-genre"] = _ => {
                List <Venue> allVenues = Venue.GetAll();
                List <Genre> allGenres = Genre.GetAll();

                Dictionary <string, object> returnModel = new Dictionary <string, object>()
                {
                    { "venues", allVenues },
                    { "genres", allGenres }
                };

                return(View["venue_genre.cshtml", returnModel]);
            };

            Post["/venue-genre"] = _ => {
                int venueId = int.Parse(Request.Form["venue"]);
                int genreId = int.Parse(Request.Form["genre"]);

                Venue foundVenue = Venue.Find(venueId);
                foundVenue.AddGenre(genreId);
                return(View["venue.cshtml", foundVenue]);
            };

            Get["/band-genre"] = _ => {
                List <Band>  allBands  = Band.GetAll();
                List <Genre> allGenres = Genre.GetAll();

                Dictionary <string, object> returnModel = new Dictionary <string, object>()
                {
                    { "bands", allBands },
                    { "genres", allGenres }
                };

                return(View["band_genre.cshtml", returnModel]);
            };

            Post["/band-genre"] = _ => {
                int bandId  = int.Parse(Request.Form["band"]);
                int genreId = int.Parse(Request.Form["genre"]);

                Band foundBand = Band.Find(bandId);
                foundBand.AddGenre(genreId);
                return(View["band.cshtml", foundBand]);
            };

// Performances
            Get["/performance"] = _ => {
                List <Band>  allBands  = Band.GetAll();
                List <Venue> allVenues = Venue.GetAll();

                Dictionary <string, object> returnModel = new Dictionary <string, object>()
                {
                    { "bands", allBands },
                    { "venues", allVenues }
                };
                return(View["performance.cshtml", returnModel]);
            };

            Post["/performance"] = _ => {
                int  venueId   = int.Parse(Request.Form["venue"]);
                int  bandId    = int.Parse(Request.Form["band"]);
                Band foundBand = Band.Find(bandId);
                foundBand.AddPerformance(venueId);
                return(View["band.cshtml", foundBand]);
            };
        }