public async Task DoneFetchChapterAsync(IValueResourceMonitorContext <WithPageChapter> context) { if (context.ProviderFetcher != this && !context.FetchContext.IsFromCache) { var chpSet = dbContextTransfer.GetComicChapterSet(); var pageJson = Encoding.UTF8.GetString(JsonSerializer.SerializeToUtf8Bytes(context.Value.Pages)); var now = DateTime.Now.Ticks; Task <int> UpdateChapterAsync() { return(chpSet.Where(x => x.TargetUrl == context.Url) .Take(1) .UpdateFromQueryAsync(x => new KvComicChapter { Pages = pageJson, Title = context.Value.Title, UpdateTime = now })); } var c = await UpdateChapterAsync(); if (c == 0 && !string.IsNullOrEmpty(context.FetchContext.EntityUrl)) { var ctx = context.FetchContext.Copy(context.FetchContext.EntityUrl); var truck = await context.FetchContext.Root.FetchEntityAsync(ctx); if (truck != null) { await CoreDoneFetchEntityAsync(ctx, truck); await UpdateChapterAsync(); } } } }
public Task DoneFetchEntityAsync(IValueResourceMonitorContext <AnfComicEntityTruck> context) { if (context.ProviderFetcher != this) { return(inRedisComicService.UpdateEntityAsync(context.Value)); } return(Task.CompletedTask); }
public Task DoneFetchChapterAsync(IValueResourceMonitorContext <WithPageChapter> context) { if (context.ProviderFetcher != this) { return(inRedisComicService.UpdateChapterAsync(context.Value)); } return(Task.CompletedTask); }
public Task DoneFetchEntityAsync(IValueResourceMonitorContext <AnfComicEntityTruck> context) { if (context.ProviderFetcher != this && !context.FetchContext.IsFromCache) { return(CoreDoneFetchEntityAsync(context.FetchContext, context.Value)); } return(Task.CompletedTask); }
public async Task DoneFetchEntityAsync(IValueResourceMonitorContext <AnfComicEntityTruck> context) { if (context.ProviderFetcher != this && !context.FetchContext.IsFromCache) { var coll = mongoClient.GetComicEntityCollection(); var filter = Builders <AnfComicEntity> .Filter.Eq(x => x.ComicUrl, context.Value.ComicUrl); var updater = MakeUpdater(context.Value); await coll.UpdateOneAsync(filter, updater); } }
public async Task DoneFetchChapterAsync(IValueResourceMonitorContext <WithPageChapter> context) { if (context.ProviderFetcher != this && !context.FetchContext.IsFromCache) { var uri = context.Value.TargetUrl; var coll = mongoClient.GetComicEntityCollection(); var filter = Builders <AnfComicEntity> .Filter.ElemMatch(x => x.WithPageChapters, x => x.TargetUrl == uri); var updater = MakeUpdater(context.Value); await coll.UpdateOneAsync(filter, updater); } }
public Task DoneFetchEntityAsync(IValueResourceMonitorContext <AnfComicEntityTruck> context) { return(Task.CompletedTask); }
public Task DoneFetchChapterAsync(IValueResourceMonitorContext <WithPageChapter> context) { return(Task.CompletedTask); }
public Task DoneFetchEntityAsync(IValueResourceMonitorContext <AnfComicEntityTruck> context) { return(Task.WhenAll(this.Select(x => x.DoneFetchEntityAsync(context)).ToArray())); }
public Task DoneFetchChapterAsync(IValueResourceMonitorContext <WithPageChapter> context) { return(Task.WhenAll(this.Select(x => x.DoneFetchChapterAsync(context)).ToArray())); }