Files
view-by-distance-mklink-con…/Shared/Models/LocationContainer.cs
2025-07-05 13:37:19 -07:00

61 lines
3.1 KiB
C#

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(CreationDateOnly: locationContainer.CreationDateOnly,
ExifDirectory: keepExifDirectory ? locationContainer.ExifDirectory : null,
DirectoryNumber: locationContainer.DirectoryNumber,
DisplayDirectoryName: locationContainer.DisplayDirectoryName,
Encoding: encoding,
FaceFile: locationContainer.FaceFile,
FilePath: locationContainer.FilePath,
FromDistanceContent: locationContainer.FromDistanceContent,
Id: locationContainer.Id,
LengthPermyriad: locationContainer.LengthPermyriad,
LengthSource: locationContainer.LengthSource,
PersonKey: locationContainer.PersonKey,
Rectangle: locationContainer.Rectangle,
WholePercentages: locationContainer.WholePercentages);
return result;
}
public static LocationContainer Get(LocationContainer source, LocationContainer locationContainer, int lengthPermyriad, bool keepExifDirectory, bool keepEncoding)
{
LocationContainer result;
result = new(CreationDateOnly: locationContainer.CreationDateOnly,
ExifDirectory: keepExifDirectory ? locationContainer.ExifDirectory : null,
DirectoryNumber: locationContainer.DirectoryNumber,
DisplayDirectoryName: locationContainer.DisplayDirectoryName,
Encoding: keepEncoding ? locationContainer.Encoding : null,
FaceFile: locationContainer.FaceFile,
FilePath: locationContainer.FilePath,
FromDistanceContent: locationContainer.FromDistanceContent,
Id: locationContainer.Id,
LengthPermyriad: lengthPermyriad,
LengthSource: source.FilePath,
PersonKey: locationContainer.PersonKey,
Rectangle: locationContainer.Rectangle,
WholePercentages: locationContainer.WholePercentages);
return result;
}
}