Пример #1
0
        public void Venue_DeleteBandRelationship_DeletesRelationship()
        {
            Venue venue = new Venue("ModaCenter", 5000);

            venue.Save();
            Band band1 = new Band("Maroon5");

            band1.Save();
            Band band2 = new Band("Rammstein");

            band2.Save();

            venue.AddBand(band1, new DateTime(2013, 04, 19));
            venue.AddBand(band2, new DateTime(2013, 04, 19));
            venue.DeleteBandRelationship(band1);

            List <Band> testList    = venue.GetBands();
            List <Band> controlList = new List <Band> {
                band2
            };

            Assert.Equal(controlList, testList);
        }
Пример #2
0
        public HomeModule()
        {
            Get["/"] = _ => {
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                model.Add("allVenues", Venue.GetAll());
                model.Add("allBands", Band.GetAll());
                return(View["index.cshtml", model]);
            };
            Get["/venues/{id}"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                Venue venue = Venue.Find(parameters.id);
                model.Add("allVenues", Venue.GetAll());
                model.Add("venue", venue);
                model.Add("venues-bands", venue.GetBands());
                model.Add("allBands", Band.GetAll());
                return(View["index.cshtml", model]);
            };
            Get["/venues/{venId}/bands/{bandId}/events"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                Venue selectedVenue = Venue.Find(parameters.venId);
                Band  selectedBand  = Band.Find(parameters.bandId);
                model.Add("venue", selectedVenue);
                model.Add("allVenues", Venue.GetAll());
                model.Add("show-venue", selectedVenue);
                model.Add("venues-bands", selectedVenue.GetBands());
                model.Add("events", selectedVenue.GetEvents(selectedBand));
                model.Add("allBands", Band.GetAll());
                return(View["index.cshtml", model]);
            };
            Get["/venues/new"] = _ => {
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                model.Add("bands", Band.GetAll());
                model.Add("add-venue", null);
                return(View["form.cshtml", model]);
            };
            Post["/venues/new"] = _ => {
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                model.Add("bands", Band.GetAll());
                Venue newVenue = new Venue(Request.Form["name"], Request.Form["capacity"]);
                newVenue.Save();
                if (Request.Form["band"] != "")
                {
                    Band selectedBand = Band.Find(Request.Form["band"]);
                    newVenue.AddBand(selectedBand, Request.Form["date"]);
                    model.Add("band", Band.Find(Request.Form["band"]));
                }
                model.Add("new-venue", newVenue);
                return(View["form.cshtml", model]);
            };
            Get["/venues/{id}/update"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                Venue selectedVenue = Venue.Find(parameters.id);
                model.Add("venue", selectedVenue);
                model.Add("bands", selectedVenue.GetBands());
                model.Add("show", "update-form");
                model.Add("otherBands", selectedVenue.GetOtherBands());

                return(View["update_form.cshtml", model]);
            };
            Patch["/venues/{id}/update"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                Venue  selectedVenue = Venue.Find(parameters.id);
                string bands         = Request.Form["band"];
                if (bands != null)
                {
                    string[] values = bands.Split(',');
                    foreach (string bandId in values)
                    {
                        selectedVenue.DeleteBandRelationship(Band.Find(int.Parse(bandId)));
                    }
                }
                selectedVenue.Update(Request.Form["name"]);
                model.Add("venue", selectedVenue);
                model.Add("bands", selectedVenue.GetBands());
                model.Add("show", "update-info");
                return(View ["update_form.cshtml", model]);
            };
            Get["/bands/new"] = _ => {
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                model.Add("new-band", null);
                model.Add("venues", Venue.GetAll());
                return(View["form.cshtml", model]);
            };
            Post["/bands/new"] = _ => {
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                Band newBand = new Band(Request.Form["name"]);
                newBand.Save();
                if (Request.Form["venue-selected"] != "")
                {
                    Venue selectedVenue = Venue.Find(Request.Form["venue-choose"]);
                    newBand.AddVenue(selectedVenue, Request.Form["date"]);
                    model.Add("venue-selected", selectedVenue);
                }
                model.Add("allVenues", Venue.GetAll());
                model.Add("allBands", Band.GetAll());
                return(View["index.cshtml", model]);
            };
            Delete["/venues/{id}/delete"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object> {
                };
                Venue selectedVenue = Venue.Find(parameters.id);
                selectedVenue.DeleteSingleVenue();
                string name = selectedVenue.Name;
                model.Add("allVenues", Venue.GetAll());
                model.Add("allBands", Band.GetAll());
                model.Add("delete-confirm", name);
                return(View["index.cshtml", model]);
            };
        }
 public HomeModule()
 {
     Get["/"]       = _ => View["index.cshtml"];
     Get["/venues"] = _ => {
         List <Venue> allVenues = Venue.GetAll();
         return(View["venues.cshtml", allVenues]);
     };
     Get["/bands"] = _ => {
         List <Band> allBands = Band.GetAll();
         return(View["bands.cshtml", allBands]);
     };
     Get["/venues/new"] = _ => {
         return(View["venue_form.cshtml"]);
     };
     Get["/bands/new"] = _ => {
         return(View["band_form.cshtml"]);
     };
     Get["/bands/new/members"] = _ => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         model.Add("part2", true);
         model.Add("members", Request.Query["members-number"]);
         return(View["band_form.cshtml", model]);
     };
     Post["/bands/new"] = _ => {
         Band newBand = new Band(Request.Form["band-name"], Request.Form["members"]);
         newBand.Save();
         string membersValues = Request.Form["member-name"];
         if (membersValues != null)
         {
             string[] members = membersValues.Split(',');
             foreach (string member in members)
             {
                 Member newMember = new Member(member, newBand.Id);
                 newMember.Save();
             }
         }
         List <Band> allBands = Band.GetAll();
         return(View["bands.cshtml", allBands]);
     };
     Post["/venues/new"] = _ => {
         Venue newVenue = new Venue(Request.Form["venue-name"], Request.Form["venue-address"]);
         newVenue.Save();
         List <Venue> allVenues = Venue.GetAll();
         return(View["venues.cshtml", allVenues]);
     };
     Get["/venues/{id}"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Venue selectedVenue = Venue.Find(parameters.id);
         model.Add("selected-venue", selectedVenue);
         model.Add("venue-bands", selectedVenue.GetBands());
         model.Add("all-bands", Band.GetAll());
         return(View["venue.cshtml", model]);
     };
     Get["/bands/{id}"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Band selectedBand = Band.Find(parameters.id);
         model.Add("selected-band", selectedBand);
         model.Add("band-venues", selectedBand.GetVenues());
         model.Add("all-venues", Venue.GetAll());
         return(View["band.cshtml", model]);
     };
     Get["/venues/{id}/bands/new"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Venue selectedVenue = Venue.Find(parameters.id);
         model.Add("selected-venue", selectedVenue);
         model.Add("venue-bands", selectedVenue.GetBands());
         model.Add("all-bands", Band.GetAll());
         return(View["add_band.cshtml", model]);
     };
     Post["/venues/{id}/bands/new"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Venue selectedVenue = Venue.Find(parameters.id);
         Band  selectedBand  = Band.Find(Request.Form["band-select"]);
         selectedVenue.AddBand(selectedBand);
         model.Add("selected-venue", selectedVenue);
         model.Add("venue-bands", selectedVenue.GetBands());
         model.Add("all-bands", Band.GetAll());
         return(View["venue.cshtml", model]);
     };
     Get["/bands/{id}/venues/new"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Band selectedBand = Band.Find(parameters.id);
         model.Add("selected-band", selectedBand);
         model.Add("band-venues", selectedBand.GetVenues());
         model.Add("all-venues", Venue.GetAll());
         return(View["add_venue.cshtml", model]);
     };
     Post["/bands/{id}/venues/new"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Band  selectedBand  = Band.Find(parameters.id);
         Venue selectedVenue = Venue.Find(Request.Form["venue-select"]);
         selectedBand.AddVenue(selectedVenue);
         model.Add("selected-band", selectedBand);
         model.Add("band-venues", selectedBand.GetVenues());
         model.Add("all-venues", Venue.GetAll());
         return(View["band.cshtml", model]);
     };
     Delete["/bands/delete"] = _ => {
         Band.DeleteAll();
         List <Band> allBands = Band.GetAll();
         return(View["bands.cshtml", allBands]);
     };
     Delete["/venues/delete"] = _ => {
         Venue.DeleteAll();
         List <Venue> allVenues = Venue.GetAll();
         return(View["venues.cshtml", allVenues]);
     };
     Get["/venues/{id}/edit"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Venue selectedVenue = Venue.Find(parameters.id);
         model.Add("selected-venue", selectedVenue);
         model.Add("edit", true);
         return(View["venue_form.cshtml", model]);
     };
     Post["/venues/{id}/edit"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Venue selectedVenue = Venue.Find(parameters.id);
         selectedVenue.Update(Request.Form["venue-name-edit"], Request.Form["venue-address-edit"]);
         model.Add("selected-venue", selectedVenue);
         model.Add("venue-bands", selectedVenue.GetBands());
         model.Add("all-bands", Band.GetAll());
         return(View["venue.cshtml", model]);
     };
     Get["/venues/{id}/bands/delete"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Venue selectedVenue = Venue.Find(parameters.id);
         model.Add("selected-venue", selectedVenue);
         model.Add("venue-bands", selectedVenue.GetBands());
         model.Add("all-bands", Band.GetAll());
         model.Add("list-edit", true);
         return(View["venue.cshtml", model]);
     };
     Delete["/venues/{id}/bands/delete"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object> {
         };
         Venue  selectedVenue = Venue.Find(parameters.id);
         string bandIds       = Request.Form["band"];
         if (bandIds != null)
         {
             string[] values = bandIds.Split(',');
             foreach (string id in values)
             {
                 Band toDelete = Band.Find(int.Parse(id));
                 selectedVenue.DeleteBandRelationship(toDelete);
             }
         }
         model.Add("selected-venue", selectedVenue);
         model.Add("venue-bands", selectedVenue.GetBands());
         model.Add("all-bands", Band.GetAll());
         return(View["venue.cshtml", model]);
     };
     Delete["/venues/{id}/delete"] = parameters => {
         Venue toDelete = Venue.Find(parameters.id);
         toDelete.Delete();
         List <Venue> allVenues = Venue.GetAll();
         return(View["venues.cshtml", allVenues]);
     };
 }