public static UserInfo GetUserInfoData(string dashType = "", string vidPlayer = "") { try { if (string.IsNullOrEmpty(ServerSettings.AniDB_Username)) return null; UserInfo uinfo = new UserInfo(); uinfo.DateTimeUpdated = DateTime.Now; uinfo.DateTimeUpdatedUTC = 0; // Optional JMM Desktop data uinfo.DashboardType = null; uinfo.VideoPlayer = vidPlayer; System.Reflection.Assembly a = System.Reflection.Assembly.GetExecutingAssembly(); try { if (a != null) uinfo.JMMServerVersion = Utils.GetApplicationVersion(a); } catch {} uinfo.UsernameHash = Utils.GetMd5Hash(ServerSettings.AniDB_Username); uinfo.DatabaseType = ServerSettings.DatabaseType; uinfo.WindowsVersion = Utils.GetOSInfo(); uinfo.TraktEnabled = ServerSettings.Trakt_IsEnabled ? 1 : 0; uinfo.MALEnabled = string.IsNullOrEmpty(ServerSettings.MAL_Username) ? 0 : 1; uinfo.CountryLocation = ""; // this field is not actually used uinfo.LastEpisodeWatchedAsDate = DateTime.Now.AddDays(-5); JMMUserRepository repUsers = new JMMUserRepository(); uinfo.LocalUserCount = (int)(repUsers.GetTotalRecordCount()); VideoLocalRepository repVids = new VideoLocalRepository(); uinfo.FileCount = repVids.GetTotalRecordCount(); AnimeEpisode_UserRepository repEps = new AnimeEpisode_UserRepository(); List<AnimeEpisode_User> recs = repEps.GetLastWatchedEpisode(); uinfo.LastEpisodeWatched = 0; if (recs.Count > 0) uinfo.LastEpisodeWatched = Utils.GetAniDBDateAsSeconds(recs[0].WatchedDate); return uinfo; } catch (Exception ex) { logger.ErrorException(ex.ToString(), ex); return null; } }