public PurchaseModule(OrmLiteConnectionFactory db) : base("/purchases") { { const string obj = "Purchase"; Get["/"] = _ => { var controller = new PurchaseController(db); return(View[obj + "List", controller.ListAll()]); }; Get["/{id}"] = req => { var controller = new PurchaseController(db); var item = controller.Get(req.id); if (item == null) { return(404); } return(View[obj + "Detail", item]); }; Get["/create"] = _ => { var model = new { Movies = (new MovieController(db)).ListAll().Movies, Showings = (new ShowingsController(db)).ListAll(), Customers = new List <Customer>(), Promotions = (new PromotionController(db)).ListAll(), }; var selects = new { Movies = model.Movies.Select(movie => new SelectListItem(movie.Title, movie.MovieId.ToString(), false)), Showings = model.Showings.Select(showing => new SelectListItem(showing.Time.ToString(), showing.ShowingId.ToString(), false)), Customers = model.Customers.Select(showing => new SelectListItem(showing.Name.ToString(), showing.CustomerId.ToString(), false)), Promotions = model.Promotions.Select(showing => new SelectListItem(showing.PromotionName.ToString(), showing.PromotionId.ToString(), false)), }; return(View["New" + obj, selects]); }; Post["/create"] = _ => { var item = this.Bind <Purchase>(); LogTo.Debug("Adding purchase: {0}", item); var controller = new PurchaseController(db); var newId = controller.Add(item); return(Response.AsRedirect(ModulePath + "/" + newId)); }; Post["/update/{id}"] = _ => { return(500); }; } }
public PurchaseModule(OrmLiteConnectionFactory db) : base("/purchases") { { const string obj = "Purchase"; Get["/"] = _ => { var controller = new PurchaseController(db); return View[obj + "List", controller.ListAll()]; }; Get["/{id}"] = req => { var controller = new PurchaseController(db); var item = controller.Get(req.id); if (item == null) return 404; return View[obj + "Detail", item]; }; Get["/create"] = _ => { var model = new { Movies = (new MovieController(db)).ListAll().Movies, Showings = (new ShowingsController(db)).ListAll(), Customers = new List<Customer>(), Promotions = (new PromotionController(db)).ListAll(), }; var selects = new { Movies = model.Movies.Select(movie => new SelectListItem(movie.Title, movie.MovieId.ToString(), false)), Showings = model.Showings.Select(showing => new SelectListItem(showing.Time.ToString(), showing.ShowingId.ToString(), false)), Customers = model.Customers.Select(showing => new SelectListItem(showing.Name.ToString(), showing.CustomerId.ToString(), false)), Promotions = model.Promotions.Select(showing => new SelectListItem(showing.PromotionName.ToString(), showing.PromotionId.ToString(), false)), }; return View["New" + obj, selects]; }; Post["/create"] = _ => { var item = this.Bind<Purchase>(); LogTo.Debug("Adding purchase: {0}", item); var controller = new PurchaseController(db); var newId = controller.Add(item); return Response.AsRedirect(ModulePath + "/" + newId); }; Post["/update/{id}"] = _ => { return 500; }; } }