public object Get(GetUserReport request) { DateTime end_date; if (string.IsNullOrEmpty(request.end_date)) { end_date = DateTime.Now; } else { _logger.Info("End_Date: " + request.end_date); end_date = DateTime.ParseExact(request.end_date, "yyyy-MM-dd", CultureInfo.InvariantCulture); } List <Dictionary <string, object> > report = Repository.GetUserReport(request.days, end_date); foreach (var user_info in report) { string user_id = (string)user_info["user_id"]; string user_name = "Not Known"; Guid user_guid = new Guid(user_id); MediaBrowser.Controller.Entities.User user = _userManager.GetUserById(user_guid); if (user != null) { user_name = user.Name; } user_info.Add("user_name", user_name); DateTime last_seen = (DateTime)user_info["latest_date"]; TimeSpan time_ago = DateTime.Now.Subtract(last_seen); string last_seen_string = GetLastSeenString(time_ago); if (last_seen_string == "") { last_seen_string = "just now"; } user_info.Add("last_seen", last_seen_string); int seconds = (int)user_info["total_time"]; TimeSpan total_time = new TimeSpan(10000000L * (long)seconds); string time_played = GetLastSeenString(total_time); if (time_played == "") { time_played = "< 1 minute"; } user_info.Add("total_play_time", time_played); } return(report); }
public object Get(GetUserReport request) { AuthorizationInfo auth_user_info = _ac.GetAuthorizationInfo(Request); UserPolicy policy = _userManager.GetUserPolicy(auth_user_info.User); if (!policy.IsAdministrator) { return(new List <Dictionary <string, object> >()); } DateTime end_date; if (string.IsNullOrEmpty(request.end_date)) { end_date = DateTime.Now; } else { _logger.Info("End_Date: " + request.end_date); end_date = DateTime.ParseExact(request.end_date, "yyyy-MM-dd", CultureInfo.InvariantCulture); } List <Dictionary <string, object> > report = repository.GetUserReport(request.days, end_date); foreach (var user_info in report) { string user_id = (string)user_info["user_id"]; string user_name = "Not Known"; bool has_image = false; MediaBrowser.Controller.Entities.User user = null; if (!string.IsNullOrEmpty(user_id)) { Guid user_guid = new Guid(user_id); user = _userManager.GetUserById(user_guid); } if (user != null) { user_name = user.Name; has_image = user.HasImage(MediaBrowser.Model.Entities.ImageType.Primary); } user_info.Add("user_name", user_name); user_info.Add("has_image", has_image); DateTime last_seen = (DateTime)user_info["latest_date"]; TimeSpan time_ago = DateTime.Now.Subtract(last_seen); string last_seen_string = GetLastSeenString(time_ago); if (last_seen_string == "") { last_seen_string = "just now"; } user_info.Add("last_seen", last_seen_string); int seconds = (int)user_info["total_time"]; TimeSpan total_time = new TimeSpan(10000000L * (long)seconds); string time_played = GetLastSeenString(total_time); if (time_played == "") { time_played = "< 1 minute"; } user_info.Add("total_play_time", time_played); } return(report); }