コード例 #1
0
        public void Test_RemoveVenue_DisassociatesVenueFromBand()
        {
            Band testBand1 = new Band("Some Band Name", "Some Band Description");

            testBand1.Save();

            Venue venue1 = new Venue("Staples Center", "Los Angeles, CA");

            venue1.Save();

            Venue venue2 = new Venue("Staples Center", "Los Angeles, CA");

            venue2.Save();

            Venue venue3 = new Venue("Staples Center", "Los Angeles, CA");

            venue3.Save();

            testBand1.AddVenue(venue1);
            testBand1.AddVenue(venue2);
            testBand1.AddVenue(venue3);

            testBand1.RemoveVenue(venue2);

            List <Venue> result   = testBand1.GetVenues();
            List <Venue> expected = new List <Venue> {
                venue1, venue3
            };

            Assert.Equal(expected, result);
        }
コード例 #2
0
        public HomeModule()
        {
            Get["/"] = _ => {
                List <Band> allBands = Band.GetAll();
                return(View["index.cshtml", allBands]);
            };

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

            Get["/venues/new"] = _ => {
                return(View["venue_form.cshtml"]);
            };

            Post["/venues/new"] = _ => {
                string venueName     = Request.Form["venue-name"];
                string venueLocation = Request.Form["venue-location"];

                Venue newVenue = new Venue(venueName, venueLocation);
                newVenue.Save();
                return(View["venue_added.cshtml", newVenue]);
            };

            Get["/bands/new"] = _ => {
                return(View["band_form.cshtml"]);
            };

            Post["/bands/new"] = _ => {
                string bandName        = Request.Form["band-name"];
                string bandDescription = Request.Form["band-description"];

                Band newBand = new Band(bandName, bandDescription);
                newBand.Save();
                return(View["band_added.cshtml", newBand]);
            };

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

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

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

            Post["/venue/{id}/new_band"] = parameters => {
                Venue selectedVenue = Venue.Find(parameters.id);
                int   bandId        = int.Parse(Request.Form["band-id"]);

                Band selectedBand = Band.Find(bandId);
                selectedVenue.AddBand(selectedBand);
                return(View["venue.cshtml", selectedVenue]);
            };

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

            Post["/band/{id}/new_venue"] = parameters => {
                Band selectedBand = Band.Find(parameters.id);
                int  venueId      = int.Parse(Request.Form["venue-id"]);

                Venue selectedVenue = Venue.Find(venueId);
                selectedBand.AddVenue(selectedVenue);
                return(View["band.cshtml", selectedBand]);
            };

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

            Patch["/venue/edit/{id}"] = parameters => {
                Venue selectedVenue = Venue.Find(parameters.id);

                string venueName     = Request.Form["venue-name"];
                string venueLocation = Request.Form["venue-location"];

                selectedVenue.Update(venueName, venueLocation);
                Venue updatedVenue = Venue.Find(parameters.id);
                return(View["venue_edited.cshtml", updatedVenue]);
            };

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

            Patch["/band/edit/{id}"] = parameters => {
                Band selectedBand = Band.Find(parameters.id);

                string bandName        = Request.Form["band-name"];
                string bandDescription = Request.Form["band-description"];

                selectedBand.Update(bandName, bandDescription);
                Band updatedBand = Band.Find(parameters.id);
                return(View["band_edited.cshtml", updatedBand]);
            };

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

            Delete["/venue/delete/{id}"] = parameters => {
                Venue selectedVenue = Venue.Find(parameters.id);
                selectedVenue.Delete();
                return(View["entry_deleted.cshtml"]);
            };

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

            Delete["/band/delete/{id}"] = parameters => {
                Band selectedBand = Band.Find(parameters.id);
                selectedBand.Delete();
                return(View["entry_deleted.cshtml"]);
            };

            Delete["/band/remove_venue/{id}"] = parameters => {
                int   bandId        = int.Parse(Request.Form["band-id"]);
                Band  selectedBand  = Band.Find(bandId);
                Venue selectedVenue = Venue.Find(parameters.id);

                selectedBand.RemoveVenue(selectedVenue);
                return(View["band.cshtml", selectedBand]);
            };

            Delete["/venue/remove_band/{id}"] = parameters => {
                int   venueId       = int.Parse(Request.Form["venue-id"]);
                Venue selectedVenue = Venue.Find(venueId);
                Band  selectedBand  = Band.Find(parameters.id);

                selectedVenue.RemoveBand(selectedBand);
                return(View["venue.cshtml", selectedVenue]);
            };
        }