EliteBGS/BGS/LogEntry.cs

59 lines
1.8 KiB
C#
Raw Permalink Normal View History

2021-07-09 11:03:30 +02:00
using System;
using System.Collections.Generic;
using System.Linq;
2021-08-25 16:36:57 +02:00
using EDJournal;
2021-07-09 11:03:30 +02:00
2021-11-10 21:24:39 +01:00
namespace EliteBGS.BGS {
public class LogEntry : IComparable<LogEntry> {
2021-07-09 11:03:30 +02:00
private List<Entry> entries = new List<Entry>();
public bool IsExpanded { get; set; }
public bool IsEnabled { get; set; } = true;
public virtual string CompletedAt {
get {
var items = Entries
.OrderBy(x => x.Timestamp)
.ToArray()
;
if (items == null || items.Length == 0) {
return "Unknown";
}
Entry last = items.Last();
2022-07-24 13:32:38 +02:00
return last.Timestamp.ToString("dd.MM.yyyy HH:mm UTC");
}
}
/// <summary>
/// Controlling faction of the station this entry was made/turned into.
/// </summary>
public string ControllingFaction { get; set; } = "";
2021-07-09 11:03:30 +02:00
public List<Entry> Entries => entries;
public string Station { get; set; }
public string System { get; set; }
public ulong SystemAddress { get; set; }
2021-07-09 11:03:30 +02:00
public string Faction { get; set; }
2021-09-30 13:28:52 +02:00
/// <summary>
/// Whether this entry was manually added. Manually added entries are not deleted
/// when a new scan is made. Instead they are preserved.
/// </summary>
public bool ManuallyAdded { get; set; }
2021-07-09 11:03:30 +02:00
/// <summary>
/// Whether this entry only benefits the controlling faction or not, default: no
/// </summary>
public virtual bool OnlyControllingFaction {
get { return false; }
}
public virtual int CompareTo(LogEntry other) {
throw new NotImplementedException("not implemented");
}
public string Name => ToString();
2021-07-09 11:03:30 +02:00
}
}