이
소스/WebCore/플러그인/평가 위원/RaterService.cs 여기
가있다 (곧 AtomServer 호출되는) BlogSvc의 source code 확인 스니펫 :
public RaterModel Rate(Id entryId, float rating, User user, string ip)
{
LogService.Info("RateEntry: {0}, {1}, {2}", entryId, rating, ip);
if (!AuthorizeService.IsAuthorized(user, entryId, AuthAction.RateEntryOrMedia))
throw new UserNotAuthorizedException(user.Name, AuthAction.RateEntryOrMedia.ToString());
if (rating < 1 || rating > 5) throw new ArgumentOutOfRangeException("Rating value must be 1 thru 5.");
AtomEntry entry = AtomEntryRepository.GetEntry(entryId);
if (entry.Raters.Contains(ip)) throw new UserAlreadyRatedEntryException(ip, entry.Id.ToString());
entry.RatingCount++;
entry.RatingSum += (int)Math.Round(rating); //temporarily force int ratings
entry.Edited = DateTimeOffset.UtcNow;
List<string> raters = entry.Raters.ToList();
raters.Add(ip);
entry.Raters = raters;
entry = AtomEntryRepository.UpdateEntry(entry);
return new RaterModel()
{
PostHref = RouteService.RouteUrl("RaterRateEntry", entryId),
Rating = entry.Rating,
CanRate = false,
RatingCount = entry.RatingCount
};
}
당신에게 편안한 쓰기 C#을인가에 대해 완벽하게 작동? 그렇다면 사용자 정의 컨트롤과 추가 페이지 항목을 사용하는 것이 매우 쉽습니다. –
AbstractItem is –
그래, 실제로 실제로는 끝과 비슷한 것을했다. 게으르다가 상자 밖에서 뭔가 재사용 할 수 있기를 바랬습니다. 조언 해주셔서 감사합니다. – pauldunlop