public MvcScalingAnswerModel(IEnumerable<ScalingAnswer> answers) { Answers = answers; if (!Answers.Any()) { AnswerValues = new List<int>(); AnswerCount = new List<int>(); AnswerPercentage = new List<float>(); } else { Question = Answers.ToList()[0].ScalingQuestion.Content; AnswerValues = Answers .GroupBy(a => a.Content) .Distinct() .Select(x => x.Key) .ToList(); AnswerCount = Answers .GroupBy(a => a.Content) .Select(a => a.Count()) .ToList(); AnswerPercentage = new List<float>(); foreach (var val in AnswerCount) { double per = 100 * (double)val / AnswerCount.Sum(); per = Math.Round(per, 2); //var per = (float) (Math.Round((double) (100*val/AnswerCount.Sum()), 2)); AnswerPercentage.Add((float)per); } } }
public override string ToString() { return($"{Id.ToBitString()}\r\n{this.ToBitString()}\r\n{QuestionCount.ToBitString()}\r\n{AnswerCount.ToBitString()}\r\n{AuthorityCount.ToBitString()}\r\n{AdditionalCount.ToBitString()}"); }