| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | 
							- 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();
 
-         }
 
-     }
 
- }
 
 
  |