private async Task <IViewFactory> OnReleaseById(IRequest request) { DataRepository repository = new DataRepository(); RutorCollection collection = await repository.Get <RutorCollection>(); string id = request.Parameters["id"]; object payload = collection.Release(id); IViewFactory factory = ControlView.Payload <RutorReleaseView>(payload); return(factory); }
private async Task <IViewFactory> OnMovieByTitle(IRequest request) { DataRepository repository = new DataRepository(); RutorCollection collection = await repository.Get <RutorCollection>(); string year = request.Parameters["year"]; string title = request.Parameters["title"]; object payload = collection.Details(year, title); IViewFactory factory = ControlView.Payload <RutorMovieDetailsView>(payload); return(factory); }
public async Task <TimeSpan> Execute() { DataRepository repository = new DataRepository(); RutorCollection collection = await repository.Get <RutorCollection>(); RutorCrawler rutor = new RutorCrawler(); RutorItem[] items = await rutor.List(query); collection.Apply(items); await repository.Update(collection); return(TimeSpan.FromHours(1)); }
private static IViewFactory OnMoviesAll(IRequest request) { async Task <object> result() { DataRepository repository = new DataRepository(); RutorCollection collection = await repository.Get <RutorCollection>(); int?page = request.Payload; return(collection.Group(page.GetValueOrDefault(0)).ToArray()); } return(ControlView.PayloadAsync <RutorMovieListView>(result)); }
public async Task <TimeSpan> Execute() { DataRepository repository = new DataRepository(); RutorCollection collection = await repository.Get <RutorCollection>(); ImdbCrawler crawler = new ImdbCrawler(); RutorDetails missing = collection.MissingImdb().FirstOrDefault(); if (missing != null) { collection.Apply(await crawler.Details(missing.Imdb)); await repository.Update(collection); return(TimeSpan.FromSeconds(10)); } return(TimeSpan.FromMinutes(10)); }