Ejemplo n.º 1
0
        private string GenerateFileName(JPGFileFoundEventArgs args, string dateTimeOriginal)
        {
            string fileName = String.Empty;

            switch (naming)
            {
            case Naming.Original:
                fileName = Path.GetFileName(args.FilePath);
                break;

            case Naming.EXIFDateTime:
                fileName = GenerateFileNameFromDateTimeOriginal(dateTimeOriginal) + Path.GetExtension(args.FilePath);
                break;
            }

            return(fileName);
        }
Ejemplo n.º 2
0
        private void HandleJPGFileFoundEvent(object sender, JPGFileFoundEventArgs args)
        {
            string dateTimeOriginal = String.Empty;

            using (Image image = Image.FromFile(args.FilePath))
            {
                dateTimeOriginal = ParseDateTimeOriginal(image);
            }

            string destinationSubdirectory = GenerateSubdirectoryPath(args, dateTimeOriginal);

            if (!Directory.Exists(destinationSubdirectory))
            {
                Directory.CreateDirectory(destinationSubdirectory);
            }

            string fileName = GenerateFileName(args, dateTimeOriginal);

            string destinationFilePath = Path.Combine(destinationSubdirectory, fileName);

            try
            {
                File.Copy(args.FilePath, destinationFilePath);
            }
            catch (IOException) //File already exists...
            {
                string extension = Path.GetExtension(fileName);
                fileName = Path.GetFileNameWithoutExtension(fileName);

                int    suffix      = 1;
                string newFileName = String.Empty;
                while (File.Exists(destinationFilePath))
                {
                    newFileName         = String.Format("{0} {1}{2}", fileName, suffix, extension);
                    destinationFilePath = Path.Combine(destinationSubdirectory, newFileName);
                    suffix++;
                }

                File.Copy(args.FilePath, destinationFilePath);
            }
        }
Ejemplo n.º 3
0
 private void OnJPGFileFound(Organizer sender, JPGFileFoundEventArgs e)
 {
     JPGFileFoundEvent?.Invoke(sender, e);
 }
Ejemplo n.º 4
0
        private string GenerateSubdirectoryPath(JPGFileFoundEventArgs args, string dateTimeOriginal)
        {
            string imageDate = ParseDateFromDateTimeOriginal(dateTimeOriginal);

            return(Path.Combine(args.DestinationDirectoryPath, imageDate));
        }