public bool CheckSettings([NotNull] string connectionString) { ConnectionString = connectionString; if (!string.IsNullOrWhiteSpace(Database)) { var fi = new FileInfo(Database); if (!fi.Exists) { throw new LPGException("Database was not found."); } ConnectionString = "Data Source=" + Database; } if (CalcObjectNumber == null) { Logger.Error("No calc object number was set. Can't continue."); return(false); } if (StartDate == null) { StartDate = new DateTime(DateTime.Now.Year, 1, 1); } if (EndDate == null) { EndDate = new DateTime(DateTime.Now.Year, 12, 31); } if (OutputDirectory == null) { OutputDirectory = CalcObjectType + "_" + CalcObjectNumber; } if (TemperatureProfileIndex == null) { TemperatureProfileIndex = 0; } if (GeographicLocationIndex == null) { GeographicLocationIndex = 0; } Logger.Info("Output File Setting is: " + OutputFileDefault.ToString()); Logger.Info("The used LoadTypePriority Default was: " + LoadTypePriority.ToString()); if (LoadTypePriority == LoadTypePriority.Undefined) { Logger.Info("LoadTypePriority was not set. Determing setting..."); if (CalcObjectType == CalcObjectType.ModularHousehold) { LoadTypePriority = LoadTypePriority.RecommendedForHouseholds; Logger.Info("LoadTypePriority for households was selected"); } else { LoadTypePriority = LoadTypePriority.RecommendedForHouses; Logger.Info("LoadTypePriority for houses was selected"); } } return(true); }
public static List <CalcOption> GetOptionsForDefault(OutputFileDefault selectedOptionDefault) { var l = new List <CalcOption>(); switch (selectedOptionDefault) { case OutputFileDefault.All: return(Enum.GetValues(typeof(CalcOption)).Cast <CalcOption>().ToList()); case OutputFileDefault.NoFiles: return(l); case OutputFileDefault.OnlyOverallSum: l.Add(CalcOption.OverallSum); break; case OutputFileDefault.OnlySums: l.Add(CalcOption.HouseSumProfilesFromDetailedDats); break; case OutputFileDefault.ReasonableWithCharts: l.AddRange(GetOptionsForDefault(OutputFileDefault.Reasonable)); l.Add(CalcOption.MakeGraphics); break; case OutputFileDefault.Reasonable: l.Add(CalcOption.ActionCarpetPlot); l.Add(CalcOption.HouseSumProfilesFromDetailedDats); l.Add(CalcOption.EnergyCarpetPlot); l.Add(CalcOption.TimeOfUsePlot); l.Add(CalcOption.VariableLogFile); l.Add(CalcOption.ActivationsPerHour); l.Add(CalcOption.ActivationFrequencies); //l.Add(CalcOption.ActionsLogfile); l.Add(CalcOption.DeviceProfilesIndividualHouseholds); l.Add(CalcOption.TotalsPerLoadtype); l.Add(CalcOption.HouseholdContents); l.Add(CalcOption.TotalsPerDevice); l.Add(CalcOption.EnergyStorageFile); l.Add(CalcOption.DurationCurve); l.Add(CalcOption.SumProfileExternalEntireHouse); l.Add(CalcOption.SumProfileExternalIndividualHouseholds); l.Add(CalcOption.AffordanceEnergyUse); l.Add(CalcOption.TimeProfileFile); l.Add(CalcOption.LocationsFile); l.Add(CalcOption.HouseholdPlan); l.Add(CalcOption.DeviceProfileExternalEntireHouse); l.Add(CalcOption.DeviceProfileExternalIndividualHouseholds); l.Add(CalcOption.WeekdayProfiles); l.Add(CalcOption.LogErrorMessages); l.Add(CalcOption.LogAllMessages); l.Add(CalcOption.TransportationDeviceCarpetPlot); break; case OutputFileDefault.OnlyDeviceProfiles: l.Add(CalcOption.HouseSumProfilesFromDetailedDats); l.Add(CalcOption.SumProfileExternalEntireHouse); l.Add(CalcOption.SumProfileExternalIndividualHouseholds); l.Add(CalcOption.DeviceProfilesIndividualHouseholds); l.Add(CalcOption.DeviceProfileExternalEntireHouse); l.Add(CalcOption.DeviceProfileExternalIndividualHouseholds); l.Add(CalcOption.LogErrorMessages); l.Add(CalcOption.LogAllMessages); break; case OutputFileDefault.ReasonableWithChartsAndPDF: l.AddRange(GetOptionsForDefault(OutputFileDefault.Reasonable)); l.Add(CalcOption.MakePDF); break; case OutputFileDefault.ForSettlementCalculations: l.Add(CalcOption.HouseSumProfilesFromDetailedDats); l.Add(CalcOption.TotalsPerLoadtype); l.Add(CalcOption.HouseholdContents); l.Add(CalcOption.TotalsPerDevice); l.Add(CalcOption.ActivationFrequencies); l.Add(CalcOption.DeviceProfilesIndividualHouseholds); l.Add(CalcOption.SumProfileExternalEntireHouse); l.Add(CalcOption.SumProfileExternalIndividualHouseholds); l.Add(CalcOption.LogErrorMessages); l.Add(CalcOption.LogAllMessages); break; default: throw new ArgumentOutOfRangeException(nameof(selectedOptionDefault), selectedOptionDefault, null); } return(l); }