List <double> GenerateData() { List <double> data = new List <double>(); dynamic Params = Manager.GetParameters().JsonParams.parameters; foreach (var P in Params) { if ((bool)P.enabled == true) { int ListSize = P.listsize != null ? (int)P.listsize : 1; if (P.distinct == null || (bool)P.distinct == false) { for (int i = 0; i < ListSize; i++) { data.Add(GetValInRange((double)P.rangeMin, (double)P.rangeMax, (int)P.rangeAccuracy)); } } else { //Only works with 1 parameter var Allowed = new List <double>(); for (int i = (int)P.rangeMin; i <= (int)P.rangeMax; i++) { Allowed.Add(i); } for (int i = 0; i < ListSize; i++) { data.Add(Allowed[rand.Next(0, Allowed.Count)]); Allowed.Remove(data.Last()); } } } } return(data); }