Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
            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));
            }
Beispiel #4
0
        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));
        }
Beispiel #5
0
        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));
        }