public object Post(CommentGetAllByPlayerIdRequest request)
        {
            var comments = CommentRepository.GetAllByPlayerId(request.PlayerId).OrderByDescending(c => c.CreateDate).ToList();
            SetCommentViewProperties(request, comments);

            return comments;
        }
        private void SetCommentViewProperties(CommentGetAllByPlayerIdRequest request, IEnumerable<CommentView> comments)
        {
            int editOrDeleteTolerance;
            var editOrDeleteToleranceValueExists =
                int.TryParse(ConfigurationManager.AppSettings[ApplicationSettingsKeys.EditOrDeleteToleranceInMinutes],
                             out editOrDeleteTolerance);
            if (editOrDeleteToleranceValueExists == false)
            {
                throw new ConfigurationErrorsException(String.Format("{0} does not exist in web.config",
                                                                     ApplicationSettingsKeys.EditOrDeleteToleranceInMinutes));
            }

            if (String.IsNullOrEmpty(request.AuthToken) == false)
            {
                try
                {
                    var googleId = UserService.GetGoogleId(request.AuthToken, AuthTokenRepository, UserRepository);
                    var user = UserRepository.GetUserByGoogleId(googleId);
                    foreach (var commentView in comments)
                    {
                        if (user.IsAdmin ||
                            (googleId.Equals(commentView.GoogleId, StringComparison.OrdinalIgnoreCase) &&
                             (commentView.UpdateDate.HasValue
                                  ? DateTimeOffset.Now.Subtract(commentView.UpdateDate.Value).TotalMinutes
                                  : DateTimeOffset.Now.Subtract(commentView.CreateDate).TotalMinutes) < editOrDeleteTolerance
                            )
                            )
                        {
                            commentView.CanEditOrDelete = true;
                        }

                        if (user.IsAdmin == false &&
                            googleId.Equals(commentView.GoogleId, StringComparison.OrdinalIgnoreCase) == false &&
                            FlaggedCommentRepository.GetUnhandledCommentsByFlaggedCommentByCommentIdAndGoogleId(commentView.CommentId, googleId).Any() == false)
                        {
                            commentView.CanFlag = true;
                        }
                    }
                }
// ReSharper disable EmptyGeneralCatchClause
                catch
// ReSharper restore EmptyGeneralCatchClause
                {
                }
            }
        }