using System.Drawing; namespace View_by_Distance.Shared.Models; public record LocationContainer(DateOnly CreationDateOnly, ExifDirectory? ExifDirectory, int? DirectoryNumber, string? DisplayDirectoryName, object? Encoding, FaceFile? FaceFile, FilePath FilePath, bool FromDistanceContent, int Id, int? LengthPermyriad, FilePath? LengthSource, long? PersonKey, RectangleF? Rectangle, int WholePercentages) { public static LocationContainer Get(LocationContainer locationContainer, object? encoding, bool keepExifDirectory) { LocationContainer result; result = new(locationContainer.CreationDateOnly, keepExifDirectory ? locationContainer.ExifDirectory : null, locationContainer.DirectoryNumber, locationContainer.DisplayDirectoryName, encoding, locationContainer.FaceFile, locationContainer.FilePath, locationContainer.FromDistanceContent, locationContainer.Id, locationContainer.LengthPermyriad, locationContainer.LengthSource, locationContainer.PersonKey, 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, locationContainer.DirectoryNumber, locationContainer.DisplayDirectoryName, keepEncoding ? locationContainer.Encoding : null, locationContainer.FaceFile, locationContainer.FilePath, locationContainer.FromDistanceContent, locationContainer.Id, lengthPermyriad, source.FilePath, locationContainer.PersonKey, locationContainer.Rectangle, locationContainer.WholePercentages); return result; } }