Created basic class structure

This commit is contained in:
XorogVEVO 2021-11-27 18:20:00 +01:00
parent f0fccb06f8
commit f0c201e859
5 changed files with 179 additions and 162 deletions

79
Internal.cs Normal file
View file

@ -0,0 +1,79 @@
namespace Xorog.UniversalExtensions;
internal static class Internal
{
internal static string GetShortTimeFormat(this TimeSpan _timespan, TimeFormat timeFormat)
{
switch (timeFormat)
{
case TimeFormat.HOURS:
if (_timespan.TotalDays >= 1)
return $"{(Math.Floor(_timespan.TotalHours).ToString().Length == 1 ? $"0{Math.Floor(_timespan.TotalHours)}" : Math.Floor(_timespan.TotalHours))}:" +
$"{(_timespan.Minutes.ToString().Length == 1 ? $"0{_timespan.Minutes}" : _timespan.Minutes)}:" +
$"{(_timespan.Seconds.ToString().Length == 1 ? $"0{_timespan.Seconds}" : _timespan.Seconds)}";
if (_timespan.TotalHours >= 1)
return $"{(_timespan.Hours.ToString().Length == 1 ? $"0{_timespan.Hours}" : _timespan.Hours)}:" +
$"{(_timespan.Minutes.ToString().Length == 1 ? $"0{_timespan.Minutes}" : _timespan.Minutes)}:" +
$"{(_timespan.Seconds.ToString().Length == 1 ? $"0{_timespan.Seconds}" : _timespan.Seconds)}";
return $"{(_timespan.Minutes.ToString().Length == 1 ? $"0{_timespan.Minutes}" : _timespan.Minutes)}:" +
$"{(_timespan.Seconds.ToString().Length == 1 ? $"0{_timespan.Seconds}" : _timespan.Seconds)}";
case TimeFormat.DAYS:
if (_timespan.TotalDays >= 1)
return $"{(Math.Floor(_timespan.TotalDays).ToString().Length == 1 ? $"0{Math.Floor(_timespan.TotalDays)}" : Math.Floor(_timespan.TotalDays))}" +
$"{(_timespan.Hours.ToString().Length == 1 ? $"0{_timespan.Hours}" : _timespan.Hours)}:" +
$"{(_timespan.Minutes.ToString().Length == 1 ? $"0{_timespan.Minutes}" : _timespan.Minutes)}:" +
$"{(_timespan.Seconds.ToString().Length == 1 ? $"0{_timespan.Seconds}" : _timespan.Seconds)}";
if (_timespan.TotalHours >= 1)
return $"{(Math.Floor(_timespan.TotalHours).ToString().Length == 1 ? $"0{Math.Floor(_timespan.TotalHours)}" : Math.Floor(_timespan.TotalHours))}:" +
$"{(_timespan.Minutes.ToString().Length == 1 ? $"0{_timespan.Minutes}" : _timespan.Minutes)}:" +
$"{(_timespan.Seconds.ToString().Length == 1 ? $"0{_timespan.Seconds}" : _timespan.Seconds)}";
return $"{(_timespan.Minutes.ToString().Length == 1 ? $"0{_timespan.Minutes}" : _timespan.Minutes)}:" +
$"{(_timespan.Seconds.ToString().Length == 1 ? $"0{_timespan.Seconds}" : _timespan.Seconds)}";
case TimeFormat.MINUTES:
if (_timespan.TotalHours >= 1)
return $"{(Math.Floor(_timespan.TotalMinutes).ToString().Length == 1 ? $"0{Math.Floor(_timespan.TotalMinutes)}" : Math.Floor(_timespan.TotalMinutes))}:" +
$"{(_timespan.Seconds.ToString().Length == 1 ? $"0{_timespan.Seconds}" : _timespan.Seconds)}";
return $"{(_timespan.Minutes.ToString().Length == 1 ? $"0{_timespan.Minutes}" : _timespan.Minutes)}:" +
$"{(_timespan.Seconds.ToString().Length == 1 ? $"0{_timespan.Seconds}" : _timespan.Seconds)}";
default:
return _timespan.ToString();
}
}
internal static string GetTimeFormat(this TimeSpan _timespan, TimeFormat timeFormat)
{
switch (timeFormat)
{
case TimeFormat.HOURS:
if (_timespan.TotalDays >= 1)
return $"{Math.Floor(_timespan.TotalHours)} hours, {_timespan.Minutes} minutes";
if (_timespan.TotalHours >= 1)
return $"{_timespan.Hours} hours, {_timespan.Minutes} minutes";
return $"{_timespan.Minutes} minutes, {_timespan.Seconds} seconds";
case TimeFormat.DAYS:
if (_timespan.TotalDays >= 1)
return $"{Math.Floor(_timespan.TotalDays)} days, {_timespan.Hours} hours";
if (_timespan.TotalHours >= 1)
return $"{_timespan.Hours} hours, {_timespan.Minutes} minutes";
return $"{_timespan.Minutes} minutes, {_timespan.Seconds} seconds";
case TimeFormat.MINUTES:
if (_timespan.TotalHours >= 1)
return $"{Math.Floor(_timespan.TotalMinutes)} minutes, {_timespan.Seconds} seconds";
return $"{_timespan.Minutes} minutes, {_timespan.Seconds} seconds";
default:
return _timespan.ToString();
}
}
}