public ACustomModuleView(LoadTypes type) { _id = Guid.NewGuid(); IThermalPlantSettings customPlant = null; switch (type) { // Todo: case for each case LoadTypes.Cooling: customPlant = new CustomCoolingSupplyModule { Id = _id, Name = "New Cooling Supply Module" }; break; case LoadTypes.Elec: customPlant = new CustomElectricitySupplyModule { Id = _id, Name = "New Electricity Supply Module" }; break; case LoadTypes.Heating: customPlant = new CustomHeatingSupplyModule { Id = _id, Name = "New Heating Supply Module" }; break; } DistrictControl.Instance.ListOfPlantSettings.Add(customPlant); InitializeComponent(); DataContext = new ACustomModuleViewModel { Id = _id }; }
/// <summary> /// </summary> /// <param name="plant"></param> /// <param name="alpha">uses a default value of 255 for the alpha channel (opaque).</param> /// <param name="cost"></param> public VariableCost(IThermalPlantSettings plant, byte alpha = 255) { var color = plant.Fill[plant.OutputType].Color; Fill = new SolidColorBrush(Color.FromArgb(alpha, color.R, color.G, color.B)); Name = plant.Name + " Variable Cost"; if (plant.Output != null) { Cost = plant.Output.Sum() * plant.V; } }
/// <summary> /// </summary> /// <param name="plant"></param> /// <param name="alpha">uses a default value of 255 for the alpha channel (opaque).</param> /// <param name="cost"></param> public FixedCost(IThermalPlantSettings plant, byte alpha = 255) { var color = plant.Fill[plant.OutputType].Color; Fill = new SolidColorBrush(Color.FromArgb(alpha, color.R, color.G, color.B)); Name = plant.Name + " Fixed Cost"; if (plant.Output != null) { Cost = plant.Capacity * DistrictControl.PlanningSettings.AnnuityFactor * plant.F; } }