示例#1
0
        private async Task <int> scanComic(DirectoryInfo directory, int galleryId)
        {
            int addCount = 0;

            foreach (var subDir in directory.GetDirectories())
            {
                if (subDir.Name.StartsWith(".") || subDir.Name.StartsWith("@"))
                {
                    continue;
                }
                var images      = Comic.GetImageFiles(subDir.FullName);
                int imagesCount = images.Count();
                if (imagesCount > 0 && await _comicService.GetComic(subDir.FullName) == null)
                {
                    Comic comic = new Comic
                    {
                        Title         = subDir.Name,
                        CoverImage    = images.FirstOrDefault().Name,
                        DirectoryPath = subDir.FullName,
                        PageCount     = imagesCount,
                        AddTime       = subDir.CreationTime,
                        GalleryId     = galleryId
                    };
                    await SendMessage($"新增漫画 {comic.Title}");

                    await _comicService.AddComic(comic);

                    addCount++;
                }
                addCount += await scanComic(subDir, galleryId);
            }
            return(addCount);
        }