public async Task CreateServerLogItem(ServerLogItem item) { // TODO check if there is a better way of doing this if (item == null) { throw new ArgumentNullException(nameof(item)); } var channel = await _context.Channel.SingleOrDefaultAsync(x => x.ChannelId == item.Channel.ChannelId); var guild = await _context.Guild.SingleOrDefaultAsync(x => x.GuildId == item.Guild.GuildId); if (channel != null) { item.Channel = channel; } if (guild != null) { item.Guild = guild; } _context.Add(item); }
public void DeleteServerLogItem(ServerLogItem item) { if (item == null) { throw new ArgumentNullException(nameof(item)); } _context.ServerLogItem.Remove(item); }
public void WriteLog(string log, DateTime timestamp, ServerLogItem.LogItemSeverity severity) { ServerLogItem logitem = new ServerLogItem(log, timestamp, severity); _logs.Add(logitem); if (NewLog != null) { NewLog(logitem); } }
private void LogServerStarted() { var serverItem = new ServerLogItem { ServerId = this.Id, Date = this.StartTime, EventType = EventTypeEnum.Started }; ServerManager.Add(serverItem, _cs); }
public void LogServerStopped() { var serverItem = new ServerLogItem { AvailableClientsCount = GetAvailableClientsCount(), ServerId = this.Id, Date = this.StartTime, EventType = EventTypeEnum.Stopped }; ServerManager.Add(serverItem, _cs); }
public void LogServerRunning() { while (!_stop) { Thread.Sleep(5000); var serverItem = new ServerLogItem { AvailableClientsCount = GetAvailableClientsCount(), ServerId = this.Id, Date = DateTime.Now, EventType = EventTypeEnum.Running }; ServerManager.Add(serverItem, _cs); } }
public static void Add(ServerLogItem item, string cs) { using (var ctx = new ExchangeDataContext(cs)) { var cl = new ServerLog() { EventTypeId = (int)item.EventType, EventDate = item.Date, Data = item.Data, ServerId = item.ServerId, AvailableClientsCount = item.AvailableClientsCount }; ctx.ServerLogs.InsertOnSubmit(cl); ctx.SubmitChanges(); } }
private static void WebServerLog_LogAdded(ServerLogItem item) { Console.WriteLine($"[{item.Date}] [{item.Type}] ({item.InfoType}) {item.SenderType}: {item.Information}"); }
public void UpdateServerLogItem(ServerLogItem item) { // Handeled automaticlly by EF Core :) }