using System;
using System.Collections.Generic;
using System.Linq;
using EDJournal;

namespace EliteBGS.BGS {
    public class LogEntry : IComparable<LogEntry> {
        private List<Entry> entries = new List<Entry>();

        public bool IsExpanded { get; set; }

        /// <summary>
        /// Controlling faction of the station this entry was made/turned into.
        /// </summary>
        public string ControllingFaction { get; set; } = "";

        public List<Entry> Entries => entries;
        public string Station { get; set; }
        public string System { get; set; }
        public string Faction { get; set; }
        /// <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; }

        /// <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();
    }
}