示例#1
0
        public ApiUserInfo UserInfo(string userName)
        {
            if (userName != "deleted" && !Utils.User.UserExists(userName))
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }

            if (userName == "deleted")
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }

            ApiUserInfo userInfo = CacheHandler.Register<ApiUserInfo>(String.Format("LegacyApi.UserInfo.{0}", userName),
              new Func<ApiUserInfo>(() =>
              {
                  using (voatEntities db = new voatEntities(CONSTANTS.CONNECTION_READONLY))
                  {
                      var resultModel = new ApiUserInfo();

                      var userBadgesList = Utils.User.UserBadges(userName);
                      var resultBadgesList = userBadgesList.Select(item => new ApiUserBadge { Awarded = item.Awarded, BadgeName = item.Badge.BadgeName }).ToList();

                      resultModel.Name = userName;
                      resultModel.CCP = Karma.CommentKarma(userName);
                      resultModel.LCP = Karma.LinkKarma(userName);
                      resultModel.RegistrationDate = Utils.User.GetUserRegistrationDateTime(userName);
                      resultModel.Badges = resultBadgesList;

                      return resultModel;
                  }
              }), TimeSpan.FromMinutes(90));
            return userInfo;
        }
示例#2
0
        public ApiUserInfo UserInfo(string userName)
        {
            if (userName != "deleted" && !Utils.User.UserExists(userName))
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }

            if (userName == "deleted")
            {
                throw new HttpResponseException(HttpStatusCode.NotFound);
            }

            var resultModel = new ApiUserInfo();

            var userBadgesList = Utils.User.UserBadges(userName);
            var resultBadgesList = userBadgesList.Select(item => new ApiUserBadge {Awarded = item.Awarded, BadgeName = item.Badge.BadgeName}).ToList();

            resultModel.Name = userName;
            resultModel.CCP = Karma.CommentKarma(userName);
            resultModel.LCP = Karma.LinkKarma(userName);
            resultModel.RegistrationDate = Utils.User.GetUserRegistrationDateTime(userName);
            resultModel.Badges = resultBadgesList;

            return resultModel;
        }