/***************************************************/ /**** Public Methods ****/ /***************************************************/ public static BuildingBenchmarkingData ToBuildingBenchmarkingData(this CustomObject obj) { BuildingBenchmarkingData benchmark = new BuildingBenchmarkingData { High = obj.PropertyValue("High") != null?System.Convert.ToDouble(obj.PropertyValue("High")) : double.NaN, Average = obj.PropertyValue("Average") != null?System.Convert.ToDouble(obj.PropertyValue("Average")) : double.NaN, Low = obj.PropertyValue("Low") != null?System.Convert.ToDouble(obj.PropertyValue("Low")) : double.NaN, }; return(benchmark); }
public static double BenchmarkVariance(double projectEmbodiedCarbon, double projectArea, BuildingBenchmarkingData embodiedCarbonBenchmarkTypeDataset, BuildingBenchmarkingData embodiedCarbonBenchmarkStructureDataset, double typeWeighting, double structureWeighting) { double typeBenchmark = embodiedCarbonBenchmarkTypeDataset.Average; double structureBenchmark = embodiedCarbonBenchmarkStructureDataset.Average; double weightedAverage = (((typeBenchmark * typeWeighting) + (structureBenchmark * structureWeighting)) / (typeWeighting + structureWeighting)); return((((projectEmbodiedCarbon / projectArea) - weightedAverage) / weightedAverage) * 100); }