private void CreateWarning() { var percentage = CalculatePercentageOfDisturbedStation(); if (percentage < 0.25) { warningLevel = 1; } else if (percentage < 0.75) { warningLevel = 2; } else { warningLevel = 3; } disturbanceWarningMessage += $"{SLStations.Where(s => s.Disturbances.Count > 0).Count()} av {SLStations.Count} ({Math.Round(percentage * 100, 0)}%) hållplatser rapporterar störningar"; if (warningLevel < SmhiWarning.WarningClass) { warningLevel = SmhiWarning.WarningClass; } if (SmhiWarning.WarningClass > 0) { weatherWarningMessage += $"\nVäder: {SmhiWarning.WeatherWarningMessage}"; } }
private double CalculatePercentageOfDisturbedStation() { return(SLStations.Count > 0 ? (double)SLStations.Where(s => s.Disturbances.Count > 0).Count() / SLStations.Count() : 0); }