コード例 #1
0
        /// <summary>
        /// Prompt the user to confirm action
        /// Remove the current packaged solution from the view
        /// Initialize new packaged solution
        /// </summary>
        private async void CreateNewPackagedSolution()
        {
            // Run message dialog and await response
            var result = await _dialogCoordinator.ShowMessageAsync(this,
                                                                   "Ny pakkeløsning",
                                                                   "Hvis du opretter en ny pakkeløsning mister du arbejdet på din nuværende pakkeløsning. Vil du fortsætte?",
                                                                   MessageDialogStyle.AffirmativeAndNegative,
                                                                   new MetroDialogSettings()
            {
                NegativeButtonText = "Afbryd"
            });

            // If negative button was pressed => return
            if (result == MessageDialogResult.Negative)
            {
                return;
            }

            // Clear the appliance list for the current packaged solution
            AppliancesInPackagedSolution.Clear();

            // Reset collections and results
            PackagedSolution       = new PackagedSolution();
            EeiResultsRoomHeating  = new EEICalculationResult();
            EeiResultsWaterHeating = new EEICalculationResult();

            // Update the EEI (=> 0)
            UpdateEei();
        }
コード例 #2
0
        public void SelectCalculationStrategyReturnsCorrectSolEff(PackagedSolutionId packID, float expectedValue)
        {
            var package     = new PackageFactory().GetPackage(packID);
            var calcManager = new CalculationManager();
            EEICalculationResult Results = calcManager.SelectCalculationStrategy(package)[0].CalculateEEI(package);

            //Assert.AreEqual(Results.SolarHeatContribution, expectedValue);
            Assert.IsTrue(Results.SolarHeatContribution <= expectedValue + 0.1f && Results.SolarHeatContribution >= expectedValue - 0.1f);
        }
コード例 #3
0
        public void SelectCalculationStrategyReturnsCorrectEEI(PackagedSolutionId packID, float expectedValue)
        {
            var package     = new PackageFactory().GetPackage(packID);
            var calcManager = new CalculationManager();
            EEICalculationResult Results = calcManager.SelectCalculationStrategy(package)[0].CalculateEEI(package);

            //Assert.AreEqual(Results.EEI, expectedValue);
            Assert.IsTrue(Results.EEI <= expectedValue + 1 && Results.EEI >= expectedValue - 1);
        }
コード例 #4
0
        public void SelectCalculationStrategyReturnsCorrectSupHeat(PackagedSolutionId packID, float expectedValue)
        {
            var package     = new PackageFactory().GetPackage(packID);
            var calcManager = new CalculationManager();
            EEICalculationResult Results = calcManager.SelectCalculationStrategy(package)[0].CalculateEEI(package);

            //Assert.AreEqual(Results.EffectOfSecondaryHeatPump, expectedValue);
            // fejl margin hævet til 0.3 fordi det eneste der påvirker resultatet en en værdi der er 0.509 i stedet for 0.504
            Assert.IsTrue(Results.EffectOfSecondaryHeatPump <= expectedValue + 0.3f && Results.EffectOfSecondaryHeatPump >= expectedValue - 0.3f);
        }
コード例 #5
0
        public void PrimaryBoilerCalculateEEI_CorrectTempContribution(PackagedSolutionId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(id);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            Assert.AreEqual(expected, (float)Math.Round(result.EffectOfTemperatureRegulatorClass, 1));
        }
コード例 #6
0
        public void PrimaryBoilerCalculateEEI_CorrectSecondBoilerContribution(PackagedSolutionId id, int boilerId, float expected)
        {
            var package     = new PackageFactory().GetPackage(id);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            var secBoiler = result.EffectOfSecondaryBoiler;

            Assert.IsTrue(expected <= secBoiler + 0.1f && expected >= secBoiler - 0.1f);
        }
コード例 #7
0
        public void PrimaryBoilerCalculateEEI_CorrectAFUEContribution(PackagedSolutionId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(id);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            var AFUE = result.PrimaryHeatingUnitAFUE;

            Assert.IsTrue(expected <= AFUE + 0.1f && expected >= AFUE - 0.1f);
        }
コード例 #8
0
        public void PrimaryBoilerCalculateEEI_CorrectAdjustedContribution(PackagedSolutionId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(id);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            var adjusted = result.AdjustedContribution;

            Assert.IsTrue(expected <= adjusted + 0.1f && expected >= adjusted - 0.1f);
        }
コード例 #9
0
        private void SetupLabelOne(EEICalculationResult result)
        {
            LabelOne = "Visible";
            var arrowData = SelectArrowValue(EEICharLabelChooser.EEIChar(ApplianceTypes.Boiler, result.PrimaryHeatingUnitAFUE)[0]);

            AnnualEfficiencyLetter = arrowData.Letter;
            AnnualEfficiencyPlus   = arrowData.Plus;

            arrowData                  = SelectArrowValue(result.EEICharacters);
            LabelTwoTabeOneArrow       = arrowData.Location;
            LabelTwoTabeOneArrowLetter = arrowData.Letter;
            LabelTwoTabeOneArrowPlus   = arrowData.Plus;
        }
コード例 #10
0
        public void PrimaryBoilerCalculateEEI_CorrectSolarContribution(PackagedSolutionId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(id);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            var solar = result.SolarHeatContribution;

            //Assert.AreEqual(expected, solar);
            Assert.IsTrue(expected <= solar + 0.1f && expected >= solar - 0.1f);
        }
コード例 #11
0
        public void PrimaryBoilerCalculateEEI_CorrectHeatpumpContribution(PackagedSolutionId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(id);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);

            float contribution = (float)(result.EffectOfSecondaryHeatPump);

            // Kan ikke få fejl margin på 0.1 endnu
            Assert.IsTrue(expected <= contribution + 0.2f && expected >= contribution - 0.2f);
        }
コード例 #12
0
        public void PrimaryBoilerCalculateEEI_CorrecrOverallResultWContainer(PackagedSolutionId packId, ContainerId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(packId);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            //package.Appliances.Add(new ApplianceFactory().GetBoiler(id) ?? new Appliance());
            if (id == ContainerId.SM500)
            {
                package.ApplianceInstances.Add(new ApplianceInstance()
                {
                    Appliance = new ApplianceFactory().GetContainer(id)
                });
            }
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            var EEI = Math.Round(result.EEI);

            Assert.IsTrue(expected <= EEI + 1f && expected >= EEI - 1f);
        }
コード例 #13
0
        public void PrimaryBoilerCalculateEEI_CorrecrOverallResult(PackagedSolutionId packId, BoilerId id, float expected)
        {
            var package     = new PackageFactory().GetPackage(packId);
            var calculation = new BoilerAsPrimary();

            AssignUsageProperties(package);
            //package.Appliances.Add(new ApplianceFactory().GetBoiler(id) ?? new Appliance());
            if (id == BoilerId.LoganoSB150)
            {
                var primary = package.PrimaryHeatingUnitInstance;
                primary.IsPrimary = false;
                package.ApplianceInstances.Add(new ApplianceInstance()
                {
                    Appliance = new ApplianceFactory().GetBoiler(id), IsPrimary = true
                });
            }
            var result = new EEICalculationResult();

            result = calculation.CalculateEEI(package);
            var EEI = Math.Round(result.EEI);

            //Assert.AreEqual(expected, EEI);
            Assert.IsTrue(expected <= EEI + 1f && expected >= EEI - 1f);
        }
コード例 #14
0
 private void SetupPageOneSecResult(EEICalculationResult result)
 {
     ResultTwo = CheckIfZero(result.PackagedSolutionAtWarmTemperaturesAFUE);
 }