예제 #1
0
        public async Task <IOrderedEnumerable <DumpViewModel> > SearchDuplicates(DumpIdentifier id, bool includeSimilarities = true)
        {
            var similarDumps   = new Similarities(await similarityService.GetSimilarities(id)).AboveThresholdSimilarities().Select(x => x.Key);
            var dumpViewModels = await Task.WhenAll(similarDumps.Select(x => ToDumpViewModel(x, includeSimilarities)));

            var dumpViewModelsOrdered = dumpViewModels.OrderByDescending(x => x.DumpInfo.Created);

            return(dumpViewModelsOrdered);
        }
예제 #2
0
        private static async Task <DumpViewModel> ToDumpViewModel(DumpMetainfo dumpMetainfo, DumpRepository dumpRepo, BundleRepository bundleRepo, SimilarityService similarityService = null)
        {
            if (dumpMetainfo == null)
            {
                return(null);
            }
            var similarities = similarityService == null ? null : new Similarities(await similarityService.GetSimilarities(dumpMetainfo.Id));

            return(new DumpViewModel(dumpMetainfo, new BundleViewModel(bundleRepo.Get(dumpMetainfo.BundleId)), similarities));
        }