public ImageRow GetFileData(FileDatabase fileDatabase)
        {
            string imageFilePath;
            if (String.IsNullOrEmpty(this.RelativePath))
            {
                imageFilePath = Path.Combine(fileDatabase.FolderPath, this.FileName);
            }
            else
            {
                imageFilePath = Path.Combine(fileDatabase.FolderPath, this.RelativePath, this.FileName);
            }

            TimeZoneInfo imageSetTimeZone = fileDatabase.ImageSet.GetTimeZone();
            ImageRow imageProperties;
            fileDatabase.GetOrCreateFile(new FileInfo(imageFilePath), imageSetTimeZone, out imageProperties);
            // imageProperties.Date is defaulted by constructor
            // imageProperties.DateTime is defaulted by constructor
            // imageProperties.FileName is set by constructor
            // imageProperties.ID is set when images are refreshed after being added to the database
            // imageProperties.ImageQuality is defaulted by constructor
            // imageProperties.ImageTaken is set by constructor
            // imageProperties.InitialRootFolderName is set by constructor
            // imageProperties.RelativePath is set by constructor
            // imageProperties.Time is defaulted by constructor
            return imageProperties;
        }
 /// <summary>
 /// Creates a data row from the specified FileExpectation.  Verifies the file isn't already in the database and does not add it to the database.
 /// </summary>
 protected ImageRow CreateFile(FileDatabase fileDatabase, TimeZoneInfo imageSetTimeZone, FileExpectations fileExpectation, out DateTimeAdjustment dateTimeAdjustment)
 {
     FileInfo fileInfo = new FileInfo(Path.Combine(this.WorkingDirectory, fileExpectation.RelativePath, fileExpectation.FileName));
     ImageRow file;
     Assert.IsFalse(fileDatabase.GetOrCreateFile(fileInfo, imageSetTimeZone, out file));
     dateTimeAdjustment = file.TryReadDateTimeOriginalFromMetadata(fileDatabase.FolderPath, imageSetTimeZone);
     return file;
 }