using MetadataExtractor; using View_by_Distance.Shared.Models; namespace View_by_Distance.Metadata.Models.Stateless.Methods; public interface IMetadata { enum DistanceUnit { Miles, NauticalMiles, Kilometers, Meters } public static ExifDirectory GetExifDirectory(FilePath filePath) => Exif.GetExifDirectory(filePath); public static FaceFile? GetFaceFile(ExifDirectory? exifDirectory) => Face.GetFaceFile(exifDirectory); public static GeoLocation? GeoLocation(ExifDirectory? exifDirectory) => GPS.GeoLocation(exifDirectory?.GpsDirectories); public static string? GetOutputResolution(ExifDirectory? exifDirectory) => Face.GetOutputResolution(exifDirectory?.PngDirectories); public static string? GetRawFaceEncoding(ExifDirectory? exifDirectory) => Face.GetFaceEncoding(exifDirectory?.PngDirectories); public static FaceEncoding? GetFaceEncoding(ExifDirectory? exifDirectory) => Face.GetFaceEncoding(exifDirectory); public static double? GetDistance(double originLatitude, double originLongitude, double destinationLatitude, double destinationLongitude, int decimalPlaces = 1, DistanceUnit distanceUnit = DistanceUnit.Miles) => GPS.GetDistance(originLatitude, originLongitude, destinationLatitude, destinationLongitude, decimalPlaces, distanceUnit); internal ExifDirectory TestStatic_GetExifDirectory(FilePath filePath) => GetExifDirectory(filePath); internal GeoLocation? TestStatic_GeoLocation(ExifDirectory? exifDirectory) => GeoLocation(exifDirectory); internal string? TestStatic_GetRawFaceEncoding(ExifDirectory? exifDirectory) => GetRawFaceEncoding(exifDirectory); internal string? TestStatic_GetOutputResolution(ExifDirectory? exifDirectory) => GetOutputResolution(exifDirectory); internal static FaceFile? TestStatic_GetFaceFile(ExifDirectory? exifDirectory) => GetFaceFile(exifDirectory); internal FaceEncoding? TestStatic_GetFaceEncoding(ExifDirectory? exifDirectory) => GetFaceEncoding(exifDirectory); internal double? TestStatic_GetDistance(double originLatitude, double originLongitude, double destinationLatitude, double destinationLongitude, int decimalPlaces = 1, DistanceUnit distanceUnit = DistanceUnit.Miles) => GetDistance(originLatitude, originLongitude, destinationLatitude, destinationLongitude, decimalPlaces, distanceUnit); }