namespace Fast.Web.Logic.GasControl
{
    public class PointSourceDelivery
    {
        public int DealID;
        public int PointID;
    }

    public class MeterPoint
    {
        public int PointID;
        public int MeterID;
    }

    public class GasControlMeter
    {
        public int ID;
        public string? Name;
        public string? Number;
        public int ZoneID;
        public string? HubCode;
    }

    public class Entity
    {
        public int ID;
        public string? GasTrackVNum;
        public string? GasTrackCNum;
        public string? Name;
        public string? NickName;
        public bool IsAgency;
    }

    public class GasControlZone
    {
        public int ID;
        public string? Name;
        public int PipelineID;
    }

    public class Pipe
    {
        public int ID;
        public string? Name;
        public string? PipeShort;
        public string? PipeCode;
        public bool NonJurisdictional;
    }

    public class Point
    {
        public int ID;
        public string? Name;
        public int? PipelineID;
    }

    public class PipeContract
    {
        public int ID;
        public string? ContractID;
        public int PipelineID;
        public int? ContractOwnerID;
        public bool? IsCapacityRelease;
        public double? DemandCharge;
        public int? RateUnitTimeOption;
    }

    public class Index
    {
        public int ID;
        public string? Name;
        public string? Synonym;
    }

    public enum FieldType
    {
        Alpha = 1,
        Numeric = 2
    }

    public class GasTrackFieldAttribute(int FieldLength, FieldType FieldType)
    {
        public int FieldLength { get; set; } = FieldLength;
        public FieldType FieldType { get; set; } = FieldType;
    }
}
