Hi,
I am using Rating on Custom list in sharepoint 2010.
I want to show details of all rating done on every single item in that list.
......i mean who done and how much point he rated (0,1,...5)
I have used below code but i can't target my "specific list" and "specific item".
Pls see my code ...here i cant show details of single item(with all users rating details)
static void Main(string[] args)
{
using (SPSite site = new SPSite("http://finweb.contoso.com/sites/RatingTest2/"))
{
GetPostItemRating(site, "{F5370048-D405-4CB7-93CE-F2CD5801AB1E}", "1");//it calls the method below
//Here i am passing site/list-id/item-id
}
}
private static void GetPostItemRating(SPSite site, string listID, string ItemID)
{
string postString = listID;
string itemString = ItemID;
SPWeb web = site.OpenWeb();
SPUserCollection users = web.CurrentUser.Groups["Members"].Users;
foreach (SPUser user in users)
{
if (user.Name != "System Account")
{
SPServiceContext context = SPServiceContext.GetContext(site);
UserProfileManager myUserProfileManager = new UserProfileManager(context);
UserProfile myUserProfile = myUserProfileManager.GetUserProfile(user.LoginName.ToString());
SocialRatingManager mySocialRatingManager = new SocialRatingManager(context);
SocialRating[] ratings = mySocialRatingManager.GetRatings(myUserProfile);
Console.WriteLine("Ratings for user:" + user.Name);
foreach (SocialRating rating in ratings)
{
if (rating.Url.OriginalString.Contains(postString) && rating.Url.OriginalString.Contains(itemString))
{
Console.WriteLine(rating.Url.HostNameType.ToString());
Console.WriteLine(rating.Title);
Console.WriteLine(rating.Rating);
Console.WriteLine(rating.Owner.DisplayName);
}
}