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); }
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]); }; }