2011-06-18 19:19:24 +02:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
2011-10-15 20:36:09 +02:00
|
|
|
|
using System.IO;
|
2011-11-25 08:56:07 +01:00
|
|
|
|
using System.Linq;
|
2011-10-15 20:36:09 +02:00
|
|
|
|
using System.Runtime.InteropServices;
|
2011-06-18 19:19:24 +02:00
|
|
|
|
using System.Text;
|
|
|
|
|
|
|
|
|
|
namespace NzbDrone.Core
|
|
|
|
|
{
|
|
|
|
|
public static class Fluent
|
|
|
|
|
{
|
|
|
|
|
public static string WithDefault(this string actual, object defaultValue)
|
|
|
|
|
{
|
|
|
|
|
if (defaultValue == null)
|
|
|
|
|
throw new ArgumentNullException("defaultValue");
|
|
|
|
|
if (String.IsNullOrWhiteSpace(actual))
|
|
|
|
|
{
|
|
|
|
|
return defaultValue.ToString();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return actual;
|
|
|
|
|
}
|
2011-07-17 21:32:58 +02:00
|
|
|
|
|
2011-07-18 01:15:37 +02:00
|
|
|
|
public static Int64 Megabytes(this int megabytes)
|
2011-07-17 21:32:58 +02:00
|
|
|
|
{
|
2011-09-14 04:25:33 +02:00
|
|
|
|
return megabytes * 1048576L;
|
2011-07-17 21:32:58 +02:00
|
|
|
|
}
|
2011-07-18 01:15:37 +02:00
|
|
|
|
|
|
|
|
|
public static Int64 Gigabytes(this int gigabytes)
|
|
|
|
|
{
|
2011-09-14 04:25:33 +02:00
|
|
|
|
return gigabytes * 1073741824L;
|
2011-07-18 01:15:37 +02:00
|
|
|
|
}
|
2011-09-28 02:10:08 +02:00
|
|
|
|
|
|
|
|
|
public static string ToBestDateString(this DateTime dateTime)
|
|
|
|
|
{
|
|
|
|
|
if (dateTime == DateTime.Today.AddDays(-1))
|
|
|
|
|
return "Yesterday";
|
|
|
|
|
|
|
|
|
|
if (dateTime == DateTime.Today)
|
|
|
|
|
return "Today";
|
|
|
|
|
|
|
|
|
|
if (dateTime == DateTime.Today.AddDays(1))
|
|
|
|
|
return "Tomorrow";
|
|
|
|
|
|
|
|
|
|
if (dateTime > DateTime.Today.AddDays(1) && dateTime < DateTime.Today.AddDays(7))
|
|
|
|
|
return dateTime.DayOfWeek.ToString();
|
|
|
|
|
|
|
|
|
|
return dateTime.ToShortDateString();
|
|
|
|
|
}
|
2011-10-15 20:36:09 +02:00
|
|
|
|
|
2011-11-12 20:53:36 +01:00
|
|
|
|
public static string ParentUriString(this Uri uri)
|
2011-10-15 20:36:09 +02:00
|
|
|
|
{
|
2011-11-12 21:21:19 +01:00
|
|
|
|
return uri.AbsoluteUri.Remove(uri.AbsoluteUri.Length - String.Join("", uri.Segments).Length - uri.Query.Length);
|
2011-10-15 20:36:09 +02:00
|
|
|
|
}
|
2011-11-25 08:56:07 +01:00
|
|
|
|
|
|
|
|
|
public static int MaxOrDefault(this IEnumerable<int> ints)
|
|
|
|
|
{
|
|
|
|
|
var intList = ints.ToList();
|
|
|
|
|
|
|
|
|
|
if (intList.Count() == 0)
|
|
|
|
|
return 0;
|
|
|
|
|
|
|
|
|
|
return intList.Max();
|
|
|
|
|
}
|
2011-06-18 19:19:24 +02:00
|
|
|
|
}
|
|
|
|
|
}
|