source: extensions/PiwigoLib/PiwigoUpload/Service/LoadFromDirectory.cs @ 12336

Last change on this file since 12336 was 12336, checked in by bayral, 13 years ago

rename category to Albums

File size: 1.7 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using System.IO;
6using Com.Piwigo.Uploader.DTO;
7
8namespace Com.Piwigo.Uploader.Service
9{
10    public class LoadFromDirectory : IService
11    {
12        string[] extensions = { ".jpeg", ".jpg" };
13
14        private LocalAlbum loadDirectory(String dirName, Int32? rootAlbumId)
15        {
16            DirectoryInfo dir = new DirectoryInfo(dirName); 
17            LocalAlbum album = new LocalAlbum (){ LocalDir=dir.FullName, Name=dir.Name};
18            album.MessageInfo = "";
19            album.UpperCatId = rootAlbumId;
20           
21            // loading image data in album
22            album.LocalImages = new LocalImageList();
23            foreach (string strfile in Directory.EnumerateFiles(dir.FullName, "*.*", SearchOption.TopDirectoryOnly)
24                .Where(s => extensions.Any(ext => ext == Path.GetExtension(s))))
25            {
26                FileInfo fi = new  FileInfo(strfile);
27                LocalImage img = new LocalImage();
28                img.LocalFile = fi.FullName;
29                img.Name = fi.Name;
30                img.Author = "";
31                img.AuthorComment = "";
32                album.LocalImages.Add(img);
33            }
34
35            album.SubAlbums = new LocalAlbumList();
36            foreach (string strdir in Directory.EnumerateDirectories(dir.FullName))
37            {
38                album.SubAlbums.Add(loadDirectory(strdir, null));
39            }
40
41            return album;
42        }
43
44        public void runService()
45        {
46            ModelManager.Instance.lstAlbumLocaux.Add(
47                loadDirectory(ModelManager.Instance.directoryName,
48                null)
49                );
50        }
51    }
52}
Note: See TracBrowser for help on using the repository browser.