67 lines
2.1 KiB
C#
67 lines
2.1 KiB
C#
using System.Collections.ObjectModel;
|
|
|
|
namespace View_by_Distance.Shared.Models.Stateless.Methods;
|
|
|
|
internal static class MetaBase
|
|
{
|
|
|
|
internal static string? GetMaker(ExifDirectoryBase[]? exifBaseDirectories)
|
|
{
|
|
string? result = null;
|
|
if (exifBaseDirectories is not null)
|
|
{
|
|
string value;
|
|
foreach (ExifDirectoryBase exifDirectoryBase in exifBaseDirectories)
|
|
{
|
|
value = exifDirectoryBase?.Make is null ? string.Empty : exifDirectoryBase.Make.ToString().Trim();
|
|
if (string.IsNullOrEmpty(value))
|
|
result = null;
|
|
else
|
|
{
|
|
result = $"{value[0].ToString().ToUpper()}{value[1..].ToLower()}";
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
internal static string? GetModel(ExifDirectoryBase[]? exifBaseDirectories)
|
|
{
|
|
string? result = null;
|
|
if (exifBaseDirectories is not null)
|
|
{
|
|
string value;
|
|
foreach (ExifDirectoryBase exifDirectoryBase in exifBaseDirectories)
|
|
{
|
|
value = exifDirectoryBase?.Model is null ? string.Empty : exifDirectoryBase.Model.ToString().Trim();
|
|
if (string.IsNullOrEmpty(value))
|
|
result = null;
|
|
else
|
|
{
|
|
result = value;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
internal static ReadOnlyCollection<string> GetKeywords(ExifDirectoryBase[]? exifBaseDirectories)
|
|
{
|
|
List<string> results = [];
|
|
if (exifBaseDirectories is not null)
|
|
{
|
|
string value;
|
|
foreach (ExifDirectoryBase exifDirectoryBase in exifBaseDirectories)
|
|
{
|
|
value = exifDirectoryBase?.WinKeywords is null ? string.Empty : exifDirectoryBase.WinKeywords.ToString().Trim();
|
|
if (string.IsNullOrEmpty(value))
|
|
continue;
|
|
results.Add(value);
|
|
}
|
|
}
|
|
return results.AsReadOnly();
|
|
}
|
|
|
|
} |