AOT Builds
This commit is contained in:
.config
.editorconfig.gitignore.prettierignore.vscode
AA.slnMetadata
AA.Metadata.csproj
Models
Rename
Shared
.vscode
AA.Shared.csprojModels
AviDirectory.csExifDirectory.csExifDirectoryBase.csFileHolder.csFileMetadataDirectory.csGifHeaderDirectory.csGpsDirectory.csJpegDirectory.csPhotoshopDirectory.csPngDirectory.cs
Properties
QuickTimeMovieHeaderDirectory.csQuickTimeTrackHeaderDirectory.csStateless
WebPDirectory.cs
50
Shared/Models/Stateless/XDate.cs
Normal file
50
Shared/Models/Stateless/XDate.cs
Normal file
@ -0,0 +1,50 @@
|
||||
namespace View_by_Distance.Shared.Models.Stateless;
|
||||
|
||||
internal abstract class XDate
|
||||
{
|
||||
|
||||
internal static (int Season, string seasonName) GetSeason(int dayOfYear)
|
||||
{
|
||||
(int Season, string seasonName) result = dayOfYear switch
|
||||
{
|
||||
< 78 => new(0, "Winter"),
|
||||
< 171 => new(1, "Spring"),
|
||||
< 264 => new(2, "Summer"),
|
||||
< 354 => new(3, "Fall"),
|
||||
_ => new(4, "Winter")
|
||||
};
|
||||
return result;
|
||||
}
|
||||
|
||||
internal static (bool?, string[]) IsWrongYear(string[] segments, string year)
|
||||
{
|
||||
bool? result;
|
||||
string[] results = (
|
||||
from l
|
||||
in segments
|
||||
where l?.Length > 2
|
||||
&& (
|
||||
l[..2] is "18" or "19" or "20"
|
||||
|| (l.Length == 5 && l.Substring(1, 2) is "18" or "19" or "20" && (l[0] is '~' or '=' or '-' or '^' or '#'))
|
||||
|| (l.Length == 6 && l[..2] is "18" or "19" or "20" && l[4] == '.')
|
||||
|| (l.Length == 7 && l.Substring(1, 2) is "18" or "19" or "20" && l[5] == '.')
|
||||
)
|
||||
select l
|
||||
).ToArray();
|
||||
string[] matches = (
|
||||
from l
|
||||
in results
|
||||
where l == year
|
||||
|| (l.Length == 5 && l.Substring(1, 4) == year && (l[0] is '~' or '=' or '-' or '^' or '#'))
|
||||
|| (l.Length == 6 && l[..4] == year && l[4] == '.')
|
||||
|| (l.Length == 7 && l.Substring(1, 4) == year && l[5] == '.')
|
||||
select l
|
||||
).ToArray();
|
||||
if (results.Length == 0)
|
||||
result = null;
|
||||
else
|
||||
result = matches.Length == 0;
|
||||
return new(result, results);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user