public static void ClearPlayerLog(int playerId) { IPlayerLogRepository playerLogRepo = new EFPlayerLogRepository(); IEnumerable <PlayerLog> myLogs = playerLogRepo.PlayerLogs.Where(l => l.PlayerId == playerId).ToList(); foreach (var log in myLogs) { log.HideLog = true; playerLogRepo.SavePlayerLog(log); } }
public static bool PlayerAlreadyHasMessage(int playerId, string message) { IPlayerLogRepository playerLogRepo = new EFPlayerLogRepository(); if (playerLogRepo.PlayerLogs.FirstOrDefault(p => p.PlayerId == playerId && p.Message == message) != null) { return(true); } else { return(false); } }
public static void DismissImportantLogs(int playerId) { IPlayerLogRepository playerLogRepo = new EFPlayerLogRepository(); IEnumerable <PlayerLog> myLogs = playerLogRepo.PlayerLogs.Where(l => l.PlayerId == playerId && l.IsImportant).ToList(); foreach (var log in myLogs) { log.IsImportant = false; } foreach (var log in myLogs) { playerLogRepo.SavePlayerLog(log); } }
public static void AddPlayerLog(int playerId, string message, bool isImportant) { IPlayerLogRepository playerLogRepo = new EFPlayerLogRepository(); var newlog = new PlayerLog(); newlog.PlayerId = playerId; newlog.Message = message; newlog.Timestamp = DateTime.UtcNow; newlog.IsImportant = isImportant; IEnumerable <PlayerLog> ExistingLogs = playerLogRepo.PlayerLogs.Where(l => l.PlayerId == playerId); // delete oldest entry to keep log size from growing too large if (ExistingLogs.Count() >= PvPStatics.MaxLogMessagesPerPlayer) { IEnumerable <PlayerLog> reordered = ExistingLogs.OrderBy(l => l.Timestamp).ToList(); var deleteMe = reordered.First(); playerLogRepo.DeletePlayerLog(deleteMe.Id); } playerLogRepo.SavePlayerLog(newlog); }
public static IEnumerable <PlayerLog> GetAllPlayerLogs(int playerId) { IPlayerLogRepository playerLogs = new EFPlayerLogRepository(); return(playerLogs.PlayerLogs.Where(l => l.PlayerId == playerId).OrderBy(l => l.Timestamp)); }