コード例 #1
0
        public HomeModule()
        {
            Get["/"] = _ => {
                return(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["venues_form.cshtml"]);
            };
            Post["/venues/new"] = _ => {
                Venue newVenue = new Venue(Request.Form["venue-description"]);
                newVenue.Save();
                newVenue.Update(newVenue.ForceCapital(newVenue.GetName()));
                return(View["success.cshtml"]);
            };
            Get["/bands/new"] = _ => {
                return(View["bands_form.cshtml"]);
            };
            Post["/bands/new"] = _ => {
                Band newBand = new Band(Request.Form["band-name"]);
                newBand.Save();
                newBand.Update(newBand.ForceCapital(newBand.GetName()));
                return(View["success.cshtml"]);
            };
            Get["venues/{id}"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object>();
                Venue       SelectedVenue         = Venue.Find(parameters.id);
                List <Band> VenueBands            = SelectedVenue.GetBands();
                List <Band> AllBands = Band.GetAll();
                model.Add("venue", SelectedVenue);
                model.Add("venueBands", VenueBands);
                model.Add("allBands", AllBands);
                return(View["venue.cshtml", model]);
            };

            Get["bands/{id}"] = parameters => {
                Dictionary <string, object> model = new Dictionary <string, object>();
                Band         SelectedBand         = Band.Find(parameters.id);
                List <Venue> BandVenues           = SelectedBand.GetVenues();
                List <Venue> AllVenues            = Venue.GetAll();
                model.Add("band", SelectedBand);
                model.Add("bandVenues", BandVenues);
                model.Add("allVenues", AllVenues);
                return(View["band.cshtml", model]);
            };
            Post["venue/add_band"] = _ => {
                Band  band  = Band.Find(Request.Form["band-id"]);
                Venue venue = Venue.Find(Request.Form["venue-id"]);
                venue.AddBand(band);
                return(View["success.cshtml"]);
            };
            Post["band/add_venue"] = _ => {
                Band  band  = Band.Find(Request.Form["band-id"]);
                Venue venue = Venue.Find(Request.Form["venue-id"]);
                band.AddVenue(venue);
                return(View["success.cshtml"]);
            };
            Get["venues/update/{id}"] = parameters =>
            {
                Venue foundVenue = Venue.Find(parameters.id);
                return(View["venue_update.cshtml", foundVenue]);
            };
            Patch["venues/update/{id}"] = parameters =>
            {
                Venue foundVenue = Venue.Find(parameters.id);
                foundVenue.Update(Request.Form["new-description"]);
                return(View["success.cshtml"]);
            };
            Get["bands/update/{id}"] = parameters =>
            {
                Band foundBand = Band.Find(parameters.id);
                return(View["band_update.cshtml", foundBand]);
            };
            Patch["bands/update/{id}"] = parameters =>
            {
                Band foundBand = Band.Find(parameters.id);
                foundBand.Update(Request.Form["new-description"]);
                return(View["success.cshtml"]);
            };
            Delete["band/delete/{id}"] = parameters =>
            {
                Band foundBand = Band.Find(parameters.id);
                foundBand.Delete();
                return(View["success.cshtml"]);
            };
            Delete["venue/delete/{id}"] = parameters =>
            {
                Venue foundVenue = Venue.Find(parameters.id);
                foundVenue.Delete();
                return(View["success.cshtml"]);
            };
            Delete["venues/delete_all"] = _ => {
                Venue.DeleteAll();
                return(View["success.cshtml"]);
            };
        }