using System.Collections.ObjectModel; using View_by_Distance.Shared.Models; namespace View_by_Distance.Metadata.Models.Stateless.Methods; internal static class Base { 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 GetKeywords(ExifDirectoryBase[]? exifBaseDirectories) { List 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 new(results); } }