Example #1
0
    /*
     * public LoggerCatalogLeafProcessor(ILogger<LoggerCatalogLeafProcessor> logger)
     * {
     *  _logger = logger ?? throw new ArgumentNullException(nameof(logger));
     *  _lastCommitTimestamp = null;
     *  _commitCount = 0;
     * }
     */

    public Task <bool> ProcessPackageDeleteAsync(PackageDeleteCatalogLeaf leaf)
    {
        Console.WriteLine(
            $"{leaf.CommitTimestamp:O}: Found package delete leaf for {leaf.PackageId} {leaf.PackageVersion}.");

        return(GetResultAsync(leaf));
    }
        public async Task ProcessPackageDeleteAsync(PackageDeleteCatalogLeaf leaf, CancellationToken token)
        {
            var deletedItems = _context.PackageDetailsCatalogLeafs.Where(p =>
                                                                         p.PackageId == leaf.PackageId && p.PackageVersion == leaf.PackageVersion);

            var deleted = await deletedItems.ToListAsync(token);

            if (deleted.Count == 0)
            {
                _logger.LogWarning("Deleted event but not found with: {Id}, {Version}", leaf.PackageId, leaf.PackageVersion);
            }
            else
            {
                if (deleted.Count > 1)
                {
                    _logger.LogError("Expected 1 item but found {count} for {id} and {version}.",
                                     deleted.Count,
                                     leaf.PackageId,
                                     leaf.PackageVersion);
                }

                foreach (var del in deleted)
                {
                    _context.PackageDetailsCatalogLeafs.Remove(del);
                }
                await Save(token);
            }
        }
 public Task <bool> ProcessPackageDeleteAsync(PackageDeleteCatalogLeaf leaf) => _packageDeleted?.Invoke(leaf);
 public Task <bool> ProcessPackageDeleteAsync(PackageDeleteCatalogLeaf leaf)
 {
     _packageProcessTasks.Add(ProcessPackageLagDetailsAsync(leaf, leaf.Published, leaf.Published, expectListed: false, isDelete: true));
     return(Task.FromResult(true));
 }