61 lines
2.7 KiB
C#
61 lines
2.7 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(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;
|
|
}
|
|
|
|
} |