Projektdateien hinzufügen.
This commit is contained in:
90
VideoBrowser/Helpers/Format.cs
Normal file
90
VideoBrowser/Helpers/Format.cs
Normal file
@@ -0,0 +1,90 @@
|
||||
namespace VideoBrowser.Helpers
|
||||
{
|
||||
using System;
|
||||
using VideoBrowser.Common;
|
||||
|
||||
/// <summary>
|
||||
/// Defines the <see cref="FormatString" />.
|
||||
/// </summary>
|
||||
public static class FormatString
|
||||
{
|
||||
#region Fields
|
||||
|
||||
private static readonly string[] TimeUnitsNames = { "Milli", "Sec", "Min", "Hour", "Day", "Month", "Year", "Decade", "Century" };
|
||||
|
||||
private static int[] TimeUnitsValue = { 1000, 60, 60, 24, 30, 12, 10, 10 };// Reference unit is milli
|
||||
|
||||
#endregion Fields
|
||||
|
||||
#region Methods
|
||||
|
||||
/// <summary>
|
||||
/// Returns a formatted string of the given file size.
|
||||
/// </summary>
|
||||
/// <param name="size">The file size as long to format.</param>
|
||||
/// <returns>The <see cref="string"/>.</returns>
|
||||
public static string FormatFileSize(this long size)
|
||||
{
|
||||
return string.Format(new ByteFormatProvider(), "{0:fs}", size);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The FormatLeftTime.
|
||||
/// </summary>
|
||||
/// <param name="milliseconds">The milliseconds<see cref="long"/>.</param>
|
||||
/// <returns>The <see cref="string"/>.</returns>
|
||||
public static string FormatLeftTime(this long milliseconds)
|
||||
{
|
||||
var format = "";
|
||||
for (var i = 0; i < TimeUnitsValue.Length; i++)
|
||||
{
|
||||
var y = milliseconds % TimeUnitsValue[i];
|
||||
milliseconds = milliseconds / TimeUnitsValue[i];
|
||||
|
||||
if (y == 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
format = y + " " + TimeUnitsNames[i] + " , " + format;
|
||||
}
|
||||
|
||||
format = format.Trim(',', ' ');
|
||||
return format == "" ? "0 Sec" : format;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a formatted string of the video length.
|
||||
/// </summary>
|
||||
/// <param name="duration">The video duration as long.</param>
|
||||
/// <returns>The <see cref="string"/>.</returns>
|
||||
public static string FormatVideoLength(this long duration)
|
||||
{
|
||||
return FormatVideoLength(TimeSpan.FromSeconds(duration));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns a formatted string of the video length.
|
||||
/// </summary>
|
||||
/// <param name="duration">The video duration as TimeSpan.</param>
|
||||
/// <returns>The <see cref="string"/>.</returns>
|
||||
public static string FormatVideoLength(this TimeSpan duration)
|
||||
{
|
||||
return duration.Hours > 0
|
||||
? string.Format("{0}:{1:00}:{2:00}", duration.Hours, duration.Minutes, duration.Seconds)
|
||||
: string.Format("{0}:{1:00}", duration.Minutes, duration.Seconds);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The GetDirectorySizeFormatted.
|
||||
/// </summary>
|
||||
/// <param name="directory">The directory<see cref="string"/>.</param>
|
||||
/// <returns>The <see cref="string"/>.</returns>
|
||||
public static string GetDirectorySizeFormatted(this string directory)
|
||||
{
|
||||
return FormatFileSize(FileHelper.GetDirectorySize(directory));
|
||||
}
|
||||
|
||||
#endregion Methods
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user