using System.Drawing; namespace View_by_Distance.Shared.Models; public record LocationContainer(DateOnly? CreationDateOnly, ExifDirectory? ExifDirectory, object? Encoding, FaceFile? FaceFile, FilePath FilePath, int? LengthPermyriad, FilePath? LengthSource, PersonKeyFormattedAndKeyTicksAndDisplayDirectoryName? PersonKeyFormattedAndKeyTicksAndDisplayDirectoryName, RectangleF? Rectangle, int? WholePercentages) { public static LocationContainer Get(LocationContainer locationContainer, object? encoding, bool keepExifDirectory) { LocationContainer result; result = new(locationContainer.CreationDateOnly, keepExifDirectory ? locationContainer.ExifDirectory : null, encoding, locationContainer.FaceFile, locationContainer.FilePath, locationContainer.LengthPermyriad, locationContainer.LengthSource, locationContainer.PersonKeyFormattedAndKeyTicksAndDisplayDirectoryName, locationContainer.Rectangle, locationContainer.WholePercentages); return result; } public static LocationContainer Get(LocationContainer source, LocationContainer locationContainer, int lengthPermyriad, bool keepExifDirectory, bool keepEncoding) { LocationContainer result; result = new(locationContainer.CreationDateOnly, keepExifDirectory ? locationContainer.ExifDirectory : null, keepEncoding ? locationContainer.Encoding : null, locationContainer.FaceFile, locationContainer.FilePath, lengthPermyriad, source.FilePath, locationContainer.PersonKeyFormattedAndKeyTicksAndDisplayDirectoryName, locationContainer.Rectangle, locationContainer.WholePercentages); return result; } }