Initial version
This commit is contained in:
commit
e5b6226a85
68 changed files with 7338 additions and 0 deletions
32
DataTransfer.Client/Services/DisplayFormat.cs
Normal file
32
DataTransfer.Client/Services/DisplayFormat.cs
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
using System.Globalization;
|
||||
|
||||
namespace DataTransfer.Client.Services;
|
||||
|
||||
public static class DisplayFormat
|
||||
{
|
||||
public static string Bytes(long bytes) => bytes switch
|
||||
{
|
||||
>= 1024L * 1024 * 1024 => string.Create(CultureInfo.InvariantCulture, $"{bytes / 1024d / 1024d / 1024d:0.#} GB"),
|
||||
>= 1024 * 1024 => string.Create(CultureInfo.InvariantCulture, $"{bytes / 1024d / 1024d:0.0} MB"),
|
||||
>= 1024 => string.Create(CultureInfo.InvariantCulture, $"{bytes / 1024d:0.0} KB"),
|
||||
_ => $"{bytes} B"
|
||||
};
|
||||
|
||||
public static string Duration(TimeSpan duration) =>
|
||||
duration switch
|
||||
{
|
||||
{ TotalHours: >= 1, Minutes: 0, Seconds: 0 } => string.Create(CultureInfo.InvariantCulture, $"{duration.TotalHours:0} h"),
|
||||
{ TotalMinutes: >= 1, Seconds: 0 } => string.Create(CultureInfo.InvariantCulture, $"{duration.TotalMinutes:0} min"),
|
||||
_ => string.Create(CultureInfo.InvariantCulture, $"{duration.TotalSeconds:0} s")
|
||||
};
|
||||
|
||||
public static string Countdown(TimeSpan remaining)
|
||||
{
|
||||
if (remaining < TimeSpan.Zero)
|
||||
{
|
||||
remaining = TimeSpan.Zero;
|
||||
}
|
||||
|
||||
return remaining.ToString(remaining.TotalHours >= 1 ? @"h\:mm\:ss" : @"mm\:ss", CultureInfo.InvariantCulture);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue