using System.Collections.Generic;

namespace RevitEstimate.ElectricalModule
{
    public class ElectricalFixtureConfig
    {
        public string FixtureName { get; set; }
        public double HeightFromFFL_MM { get; set; }
        public string Description { get; set; }
    }

    public class RoomElectricalData
    {
        public string LevelName { get; set; }
        public int FlatNumber { get; set; }
        public string FlatHeader => $"Flat - {FlatNumber} ({LevelName})";

        public bool IsFlatEnabled { get; set; } = true;
        public string RoomTag { get; set; }
        public string RoomName { get; set; }
        public string ZoneType { get; set; }
        public int SortOrder { get; set; }
        public bool IsRoomActive { get; set; }

        public double FloorElevation { get; set; }
        public double RoomArea { get; set; }

        // Electrical Fixture Quantities per Room
        public int LightPointQty { get; set; }
        public int CeilingFanQty { get; set; }
        public int WallFanQty { get; set; }
        public int LightFanSwitchBoardQty { get; set; }
        public int BedsideSwitchBoardQty { get; set; }
        public int General5PinSocketQty { get; set; }
        public int KitchenCounterSocketQty { get; set; }
        public int HeavyPowerSocketQty { get; set; } // AC / Geyser / Washing Machine
        public int DbBoxQty { get; set; }
    }

    public class ElectricalDsrItem
    {
        public string CategoryGroup { get; set; }
        public string SrNo { get; set; }
        public string DsrCode { get; set; }
        public string Description { get; set; }
        public string Unit { get; set; }
        public double Qty { get; set; }
        public double Rate { get; set; }
        public double Amount => Qty * Rate;
        public string Remark { get; set; }
    }

    // ========================================================
    // NEW MODEL FOR ACTUAL REVIT MEP QUANTITIES
    // ========================================================
    public class ActualElectricalItem
    {
        public string Category { get; set; }
        public string FamilyAndType { get; set; }
        public int Count { get; set; }
        public double TotalLengthMeter { get; set; }
        public string Unit { get; set; }
    }
}