static RouteHandlers() { CreateFilmHandler = film => CreateFilmRoute.Handle(film, () => ValidUserQuery.Execute()); DeleteFilmHandler = id => DeleteFilmRoute.Handle(id, () => ValidUserQuery.Execute()); ListFilmByIdHandler = id => ListFilmByIdRoute.Handle( id, filmId => ListFilmsByIdQuery.ListFilmsByIdQuery.Execute(id), dirId => GetDirectorByIdQuery.Execute(dirId), filmId => GetCastByFilmIdQuery.Execute(id) ); ListFilmsHandler = () => ListFilmsRoute.Handle(); UpdateFilmHandler = (id, film) => UpdateFilmRoute.Handle( id, film, () => ValidUserQuery.Execute(), filmId => ListFilmsByIdQuery.ListFilmsByIdQuery.Execute(filmId)); }
/// <summary> /// Initialize the plugin and it's name /// </summary> /// <param name="name"> /// The plugin's name /// </param> public FilmPlugin(string name) : base("Films", name) { MethodInfo methodInfo = GetMethod ("CreateFilm"); CreateFilm = Delegate.CreateDelegate (typeof(CreateFilmDelegate), methodInfo) as CreateFilmDelegate; }