static public List <JournalEntry> GetAll(int commander = -999) { List <JournalEntry> list = new List <JournalEntry>(); using (SQLiteConnectionUser cn = new SQLiteConnectionUser(utc: true)) { using (DbCommand cmd = cn.CreateCommand("select * from JournalEntries where CommanderID=@commander Order by EventTime ASC")) { if (commander == -999) { cmd.CommandText = "select * from JournalEntries Order by EventTime "; } cmd.AddParameterWithValue("@commander", commander); DataSet ds = SQLiteDBClass.SQLQueryText(cn, cmd); if (ds.Tables.Count == 0 || ds.Tables[0].Rows.Count == 0) { return(list); } foreach (DataRow dr in ds.Tables[0].Rows) { JournalEntry sys = JournalEntry.CreateJournalEntry(dr); list.Add(sys); } return(list); } } }
static public JournalEntry CreateJournalEntry(DataRow dr) { string EDataString = (string)dr["EventData"]; JournalEntry jr = JournalEntry.CreateJournalEntry(EDataString); // this sets EventTypeId, EventTypeStr and UTC via constructor above.. jr.Id = (int)(long)dr["Id"]; jr.TLUId = (int)(long)dr["TravelLogId"]; jr.CommanderId = (int)(long)dr["CommanderId"]; jr.EventTimeUTC = (DateTime)dr["EventTime"]; jr.EventTypeID = (JournalTypeEnum)(long)dr["eventTypeID"]; jr.EdsmID = (int)(long)dr["EdsmID"]; jr.Synced = (int)(long)dr["Synced"]; return(jr); }
static public JournalEntry CreateJournalEntry(DbDataReader dr) { string EDataString = (string)dr["EventData"]; JournalEntry jr = JournalEntry.CreateJournalEntry(EDataString); jr.Id = (int)(long)dr["Id"]; jr.TLUId = (int)(long)dr["TravelLogId"]; jr.CommanderId = (int)(long)dr["CommanderId"]; if (jr.EventTimeUTC == default(DateTime)) { jr.EventTimeUTC = ((DateTime)dr["EventTime"]).ToUniversalTime(); } jr.EventTypeID = (JournalTypeEnum)(long)dr["eventTypeID"]; jr.EdsmID = (int)(long)dr["EdsmID"]; jr.Synced = (int)(long)dr["Synced"]; return(jr); }
public static List <JournalEntry> GetAllByTLU(long tluid) { List <JournalEntry> vsc = new List <JournalEntry>(); using (SQLiteConnectionUser cn = new SQLiteConnectionUser(utc: true)) { using (DbCommand cmd = cn.CreateCommand("SELECT * FROM JournalEntries WHERE TravelLogId = @source ORDER BY EventTime ASC")) { cmd.AddParameterWithValue("@source", tluid); using (DbDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { vsc.Add(JournalEntry.CreateJournalEntry(reader)); } } } } return(vsc); }
public static List <JournalEntry> GetByEventType(JournalTypeEnum eventtype, int commanderid, DateTime start, DateTime stop) { List <JournalEntry> vsc = new List <JournalEntry>(); using (SQLiteConnectionUser cn = new SQLiteConnectionUser(utc: true)) { using (DbCommand cmd = cn.CreateCommand("SELECT * FROM JournalEntries WHERE EventTypeID = @eventtype and CommanderID=@commander and EventTime >=@start and EventTime<=@Stop ORDER BY EventTime ASC")) { cmd.AddParameterWithValue("@eventtype", (int)eventtype); cmd.AddParameterWithValue("@commander", (int)commanderid); cmd.AddParameterWithValue("@start", start); cmd.AddParameterWithValue("@stop", stop); using (DbDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { vsc.Add(JournalEntry.CreateJournalEntry(reader)); } } } } return(vsc); }
protected JournalReaderEntry ProcessLine(string line, bool resetOnError) { int cmdrid = -2; //-1 is hidden, -2 is never shown if (TravelLogUnit.CommanderId.HasValue) { cmdrid = TravelLogUnit.CommanderId.Value; // System.Diagnostics.Trace.WriteLine(string.Format("TLU says commander {0} at {1}", cmdrid, TravelLogUnit.Name)); } if (line.Length == 0) { return(null); } JObject jo = null; JournalEntry je = null; try { jo = JObject.Parse(line); je = JournalEntry.CreateJournalEntry(jo); } catch { System.Diagnostics.Trace.WriteLine($"Bad journal line:\n{line}"); if (resetOnError) { throw; } else { return(null); } } if (je == null) { System.Diagnostics.Trace.WriteLine($"Bad journal line:\n{line}"); return(null); } if (je.EventTypeID == JournalTypeEnum.Fileheader) { JournalEvents.JournalFileheader header = (JournalEvents.JournalFileheader)je; if (header.Beta && !disable_beta_commander_check) { TravelLogUnit.type |= 0x8000; } if (header.Part > 1) { JournalEvents.JournalContinued contd = JournalEntry.GetLast <JournalEvents.JournalContinued>(je.EventTimeUTC.AddSeconds(1), e => e.Part == header.Part); // Carry commander over from previous log if it ends with a Continued event. if (contd != null && Math.Abs(header.EventTimeUTC.Subtract(contd.EventTimeUTC).TotalSeconds) < 5 && contd.CommanderId >= 0) { TravelLogUnit.CommanderId = contd.CommanderId; } } } else if (je.EventTypeID == JournalTypeEnum.LoadGame) { string newname = (je as JournalEvents.JournalLoadGame).LoadGameCommander; if ((TravelLogUnit.type & 0x8000) == 0x8000) { newname = "[BETA] " + newname; } EDCommander _commander = EDCommander.GetCommander(newname); if (_commander == null) { EDCommander onlyc = EDCommander.GetAll().FirstOrDefault(); if (EDCommander.NumberOfCommanders == 1 && onlyc != null && onlyc.Name == "Jameson (Default)") { onlyc.Name = newname; onlyc.EdsmName = newname; EDCommander.Update(new List <EDCommander> { onlyc }, false); } else { _commander = EDCommander.Create(newname, null, EDJournalClass.GetDefaultJournalDir().Equals(TravelLogUnit.Path) ? "" : TravelLogUnit.Path); } } cmdrid = _commander.Nr; if (!TravelLogUnit.CommanderId.HasValue) { TravelLogUnit.CommanderId = cmdrid; TravelLogUnit.Update(); System.Diagnostics.Trace.WriteLine(string.Format("TLU {0} updated with commander {1}", TravelLogUnit.Path, cmdrid)); } } je.TLUId = (int)TravelLogUnit.id; je.CommanderId = cmdrid; return(new JournalReaderEntry { JournalEntry = je, Json = jo }); }
protected JournalEntry ProcessLine(string line, bool resetOnError) { int cmdrid = -2; //-1 is hidden, -2 is never shown if (TravelLogUnit.CommanderId.HasValue) { cmdrid = TravelLogUnit.CommanderId.Value; // System.Diagnostics.Trace.WriteLine(string.Format("TLU says commander {0} at {1}", cmdrid, TravelLogUnit.Name)); } if (line.Length == 0) { return(null); } JournalEntry je = null; try { je = JournalEntry.CreateJournalEntry(line); } catch { System.Diagnostics.Trace.WriteLine($"Bad journal line:\n{line}"); if (resetOnError) { throw; } else { return(null); } } if (je.EventTypeID == JournalTypeEnum.Fileheader) { JournalEvents.JournalFileheader header = (JournalEvents.JournalFileheader)je; if (header.Beta && !disable_beta_commander_check) { TravelLogUnit.type |= 0x8000; } } else if (je.EventTypeID == JournalTypeEnum.LoadGame) { string newname = (je as JournalEvents.JournalLoadGame).LoadGameCommander; if ((TravelLogUnit.type & 0x8000) == 0x8000) { newname = "[BETA] " + newname; } EDCommander _commander = EDDiscovery2.EDDConfig.Instance.ListOfCommanders.FirstOrDefault(c => c.Name.Equals(newname, StringComparison.InvariantCultureIgnoreCase)); if (_commander == null) { if (EDDiscovery2.EDDConfig.Instance.ListOfCommanders.Count == 1 && EDDiscovery2.EDDConfig.Instance.ListOfCommanders[0].Name == "Jameson (Default)") { EDDiscovery2.EDDConfig.Instance.ListOfCommanders[0].Name = newname; EDDiscovery2.EDDConfig.Instance.ListOfCommanders[0].EdsmName = newname; EDDiscovery2.EDDConfig.Instance.UpdateCommanders(EDDiscovery2.EDDConfig.Instance.ListOfCommanders); // replaces it } else { _commander = EDDiscovery2.EDDConfig.Instance.GetNewCommander(newname, null, EDJournalClass.GetDefaultJournalDir().Equals(TravelLogUnit.Path) ? "" : TravelLogUnit.Path); } } cmdrid = _commander.Nr; if (!TravelLogUnit.CommanderId.HasValue) { TravelLogUnit.CommanderId = cmdrid; TravelLogUnit.Update(); System.Diagnostics.Trace.WriteLine(string.Format("TLU {0} updated with commander {1}", TravelLogUnit.Path, cmdrid)); } } je.TLUId = (int)TravelLogUnit.id; je.CommanderId = cmdrid; return(je); }