Beispiel #1
0
        protected override IQueryable <TEntity> PrepareGetQuery(IGetSettings settings)
        {
            IQueryable <TEntity> query = PrepareGetQuery(settings.KeyValue);

            if (settings is IIncludeSettings {
                Include : { Count : > 0 }
            } includeSettings)
            {
                query = includeSettings.Include.SkipNullOrEmpty()
                        .Aggregate(query, (current, path) => current.Include(path));
            }

            if (settings is IFilterSettings filterSettings && !string.IsNullOrWhiteSpace(filterSettings.FilterExpression))
            {
                query = query.Where(filterSettings.FilterExpression);
            }

            return(query);
        }
Beispiel #2
0
        private static async Task Main()
        {
            IGetSettings set = Factory.CreateGetSettings();

            (List <string> lotteryFile, List <JObject> lotteryJObject, var scrapeWebsites) =
                await set.RetrieveSettings();

            (List <string> LotteryFile, List <JObject> LotteryJObject)lotteryInfo = (lotteryFile, lotteryJObject);

            IValidateLottoLists validateLists = Factory.CreateValidateLottoLists();
            await validateLists.ValidateLotteryLists(lotteryInfo);



            // If true: Uses Quartz.net to schedule tasks.
            // TODO: Check against settings file to see which website scraping tasks need to be scheduled.
            if (scrapeWebsites)
            {
                Console.WriteLine("ScrapeWebsites = True");

                var props = new NameValueCollection
                {
                    { "quartz.serializer.type", "binary" }
                };
                var quartzFactory = new StdSchedulerFactory(props);

                IScheduler scheduler = await quartzFactory.GetScheduler();

                await scheduler.Start();

                await Lotto649Schedule.Lotto649Scheduler(scheduler);

                await LottoMaxSchedule.LottoMaxScheduler(scheduler);

                await USPowerballSchedule.USPowerballScheduler(scheduler);
            }

            //Console.ReadKey();

            while (true)
            {
            }
        }
Beispiel #3
0
 /// <inheritdoc />
 protected override ValueTask <TEntity> GetAsyncInternal(IGetSettings settings, CancellationToken token = default(CancellationToken))
 {
     token.ThrowIfCancellationRequested();
     return(new ValueTask <TEntity>(PrepareGetQuery(settings).FirstOrDefaultAsync(token)));
 }
Beispiel #4
0
 /// <inheritdoc />
 protected override TEntity GetInternal(IGetSettings settings)
 {
     return(PrepareGetQuery(settings).FirstOrDefault());
 }