aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.UI/Converters/LastSeenTextConverter.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.UI/Converters/LastSeenTextConverter.cs')
-rw-r--r--MediaBrowser.UI/Converters/LastSeenTextConverter.cs86
1 files changed, 0 insertions, 86 deletions
diff --git a/MediaBrowser.UI/Converters/LastSeenTextConverter.cs b/MediaBrowser.UI/Converters/LastSeenTextConverter.cs
deleted file mode 100644
index 13e6c54b9..000000000
--- a/MediaBrowser.UI/Converters/LastSeenTextConverter.cs
+++ /dev/null
@@ -1,86 +0,0 @@
-using MediaBrowser.Model.Dto;
-using System;
-using System.Globalization;
-using System.Windows.Data;
-
-namespace MediaBrowser.UI.Converters
-{
- public class LastSeenTextConverter : IValueConverter
- {
- public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
- {
- var user = value as UserDto;
-
- if (user != null)
- {
- if (user.LastActivityDate.HasValue)
- {
- DateTime date = user.LastActivityDate.Value.ToLocalTime();
-
- return "Last seen " + GetRelativeTimeText(date);
- }
- }
-
- return null;
- }
-
- private static string GetRelativeTimeText(DateTime date)
- {
- TimeSpan ts = DateTime.Now - date;
-
- const int second = 1;
- const int minute = 60 * second;
- const int hour = 60 * minute;
- const int day = 24 * hour;
- const int month = 30 * day;
-
- int delta = System.Convert.ToInt32(ts.TotalSeconds);
-
- if (delta < 0)
- {
- return "not yet";
- }
- if (delta < 1 * minute)
- {
- return ts.Seconds == 1 ? "one second ago" : ts.Seconds + " seconds ago";
- }
- if (delta < 2 * minute)
- {
- return "a minute ago";
- }
- if (delta < 45 * minute)
- {
- return ts.Minutes + " minutes ago";
- }
- if (delta < 90 * minute)
- {
- return "an hour ago";
- }
- if (delta < 24 * hour)
- {
- return ts.Hours == 1 ? "an hour ago" : ts.Hours + " hours ago";
- }
- if (delta < 48 * hour)
- {
- return "yesterday";
- }
- if (delta < 30 * day)
- {
- return ts.Days + " days ago";
- }
- if (delta < 12 * month)
- {
- int months = System.Convert.ToInt32(Math.Floor((double)ts.Days / 30));
- return months <= 1 ? "one month ago" : months + " months ago";
- }
-
- int years = System.Convert.ToInt32(Math.Floor((double)ts.Days / 365));
- return years <= 1 ? "one year ago" : years + " years ago";
- }
-
- public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
- {
- throw new NotImplementedException();
- }
- }
-}