public ActionResult GetMyRatings(string speakerId)
        {
            var speakerService = new SpeakerService(speakerId);

            if (speakerService.speakerMapping == null)
            {
                return(new JsonNetResult(null));
            }

            var ratings  = speakerService.GetMyRatings();
            var comments = speakerService.GetMyComments();

            var knowedgeRating = ratings
                                 .Where(x => x.SpeakerKnowledgeRating != null)
                                 .Select(x => x.SpeakerKnowledgeRating.Value)
                                 .ToList();

            var knowedgeRatingSpread = knowedgeRating.GroupBy(x => x)
                                       .Select(x => new { score = x.Key, count = x.Count() });

            double avgKnowedge = (double)knowedgeRating.Sum() / (double)knowedgeRating.Count();

            var skillsRating = ratings
                               .Where(x => x.SpeakerSkillsRating != null)
                               .Select(x => x.SpeakerSkillsRating.Value)
                               .ToList();


            var skillsRatingSpread = skillsRating.GroupBy(x => x)
                                     .Select(x => new { score = x.Key, count = x.Count() });

            double avgSkill = (double)skillsRating.Sum() / (double)skillsRating.Count();

            var data = new {
                calcRating = new {
                    avgKnowedge          = Math.Round(avgKnowedge, 2),
                    avgSkill             = Math.Round(avgSkill, 2),
                    knowedgeRatingSpread = knowedgeRatingSpread,
                    skillsRatingSpread   = skillsRatingSpread
                },
                allRatings = ratings,
                comments   = comments
            };

            return(new JsonNetResult(data));
        }