コード例 #1
0
        public PackageStub(CHPId priPump, ContainerId solarContainer, int numContainers, BoilerId?secBoiler, SolarPanelId?solar,
                           int?numberOfSolars, ContainerId?container, TempControlId?tempControl)
        {
            var factory = new ApplianceFactory();

            ApplianceInstances.Add(new ApplianceInstance()
            {
                Appliance = factory.GetCHP(priPump), IsPrimary = true
            });
            ApplianceInstances.Add(new ApplianceInstance()
            {
                Appliance        = factory.GetContainer(solarContainer),
                IsSolarContainer = true
            });
            for (int i = 0; i < numberOfSolars; i++)
            {
                ApplianceInstances.Add(new ApplianceInstance()
                {
                    Appliance            = factory.GetSolarPanel(solar ?? 0),
                    IsUsedForRoomHeating = true
                });
            }
            ApplianceInstances.Add(new ApplianceInstance()
            {
                Appliance = factory.GetBoiler(secBoiler ?? 0)
            });
            ApplianceInstances.Add(new ApplianceInstance()
            {
                Appliance = factory.GetSolarPanel(solar ?? 0)
            });
            ApplianceInstances.Add(new ApplianceInstance()
            {
                Appliance = factory.GetContainer(container ?? 0)
            });
            ApplianceInstances.Add(new ApplianceInstance()
            {
                Appliance = factory.GetTempControl(tempControl ?? 0)
            });
            for (int i = 0; i < numContainers; i++)
            {
                ApplianceInstances.Add(new ApplianceInstance()
                {
                    Appliance        = factory.GetContainer(solarContainer),
                    IsSolarContainer = true
                });
            }
            for (int i = 0; i < numContainers - 1; i++)
            {
                ApplianceInstances.Add(new ApplianceInstance()
                {
                    Appliance = factory.GetContainer(solarContainer)
                });
            }
        }
コード例 #2
0
        public Appliance GetCHP(CHPId id)
        {
            switch (id)
            {
            case CHPId.Vitobloc200:
                return(new ApplianceStub("Vitobloc 200", new HeatingUnitDataSheet()
                {
                    AFUE = 140, WattUsage = 39, InternalTempControl = "3"
                }, ApplianceTypes.CHP));

            default:
                return(new Appliance());
            }
        }