- Timestamp:
- Mar 8, 2012, 11:19:12 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/PiwigoLib/PiwigoUpload/Service/LoadFromDirectory.cs
r12336 r13520 5 5 using System.IO; 6 6 using Com.Piwigo.Uploader.DTO; 7 using Com.Piwigo.Lib.DTO; 7 8 8 9 namespace Com.Piwigo.Uploader.Service 9 10 { 11 10 12 public class LoadFromDirectory : IService 11 13 { 12 string[] extensions = { ".jpeg", ".jpg" }; 14 string[] extensions = { ".jpeg", ".jpg", ".JPEG", ".JPG" }; 15 16 private LocalImage loadFile(String fileName) 17 { 18 LocalImage img = new LocalImage(); 19 // loading image data in album 20 if (extensions.Contains<String>(Path.GetExtension(fileName))) 21 { 22 FileInfo fi = new FileInfo(fileName); 23 img.LocalFile = fi.FullName; 24 img.Name = fi.Name; 25 img.ConfidentialLevel = ModelManager.Instance.UploadOption.ConfidentialLevel; 26 img.Author = ModelManager.Instance.UploadOption.Author; 27 img.AuthorComment = ""; 28 } 29 return img; 30 } 13 31 14 32 private LocalAlbum loadDirectory(String dirName, Int32? rootAlbumId) 15 33 { 16 DirectoryInfo dir = new DirectoryInfo(dirName); 17 LocalAlbum album = new LocalAlbum (){ LocalDir=dir.FullName, Name=dir.Name}; 34 DirectoryInfo dir = new DirectoryInfo(dirName); 35 LocalAlbum album = new LocalAlbum() { LocalDir = dir.FullName, Name = dir.Name }; 36 37 Int32 parentAlbumId = (rootAlbumId.HasValue ? rootAlbumId.Value : PwgAlbum.RootAlbumId); 38 18 39 album.MessageInfo = ""; 19 album.UpperCatId = rootAlbumId;40 album.UpperCatId = parentAlbumId; 20 41 21 42 // loading image data in album … … 24 45 .Where(s => extensions.Any(ext => ext == Path.GetExtension(s)))) 25 46 { 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); 47 album.LocalImages.Add(loadFile(strfile)); 33 48 } 34 49 … … 44 59 public void runService() 45 60 { 46 ModelManager.Instance.lstAlbumLocaux.Add( 47 loadDirectory(ModelManager.Instance.directoryName, 48 null) 49 ); 61 if (File.Exists(ModelManager.Instance.directoryName)) 62 { 63 if (extensions.Contains<String>(Path.GetExtension(ModelManager.Instance.directoryName))) 64 { 65 FileInfo file = new FileInfo(ModelManager.Instance.directoryName); 66 LocalAlbum album; 67 album = ModelManager.Instance.lstAlbumLocaux.SingleOrDefault(a => a.Name == file.Directory.Name); 68 69 if (album == null) 70 { 71 album = new LocalAlbum() { LocalDir = file.Directory.FullName, Name = file.Directory.Name }; 72 album.MessageInfo = "auto created for photo input."; 73 album.UpperCatId = 0; 74 album.LocalImages = new LocalImageList(); 75 album.SubAlbums = new LocalAlbumList(); 76 77 ModelManager.Instance.lstAlbumLocaux.Add(album); 78 } 79 80 if (album.LocalImages.Count(a => a.Name == file.Name) < 1) 81 { 82 album.LocalImages.Add(loadFile(file.FullName)); 83 } 84 } 85 } 86 else if (Directory.Exists(ModelManager.Instance.directoryName)) 87 { 88 Int32 RootAlbumId = PwgAlbum.RootAlbumId; 89 LocalAlbum rootAlbum = null; 90 91 if (ModelManager.Instance.SelectedNode != null) 92 { 93 if (ModelManager.Instance.SelectedNode.Tag != null) 94 { 95 if (ModelManager.Instance.SelectedNode.Tag is LocalAlbum) 96 { 97 rootAlbum = (LocalAlbum)ModelManager.Instance.SelectedNode.Tag; 98 RootAlbumId = (rootAlbum.Id.HasValue ? rootAlbum.Id.Value : PwgAlbum.RootAlbumId); 99 } 100 else if (ModelManager.Instance.SelectedNode.Tag is PwgImage) 101 { 102 rootAlbum = (LocalAlbum)ModelManager.Instance.SelectedNode.Parent.Tag; 103 RootAlbumId = (rootAlbum.Id.HasValue ? rootAlbum.Id.Value : PwgAlbum.RootAlbumId); 104 } 105 } 106 } 107 108 if (rootAlbum != null) 109 { 110 rootAlbum.SubAlbums.Add( 111 loadDirectory(ModelManager.Instance.directoryName, 112 RootAlbumId) 113 ); 114 } 115 else 116 { 117 ModelManager.Instance.lstAlbumLocaux.Add( 118 loadDirectory(ModelManager.Instance.directoryName, 119 PwgAlbum.RootAlbumId) 120 ); 121 } 122 } 50 123 } 51 124 }
Note: See TracChangeset
for help on using the changeset viewer.