in webservice/MCPermissions.cs [252:295]
private XmlNode CreatePermissionNode(XmlDocument doc, SPPrincipal member, SPRoleDefinition roleDefinition)
{
XmlNode retVal = doc.CreateElement("Permission");
XmlAttribute memberIdAttribute = doc.CreateAttribute("MemberID");
memberIdAttribute.Value = member.ID.ToString();
retVal.Attributes.Append(memberIdAttribute);
XmlAttribute maskAttribute = doc.CreateAttribute("Mask");
int mask = (int)roleDefinition.BasePermissions;
maskAttribute.Value = mask.ToString();
retVal.Attributes.Append(maskAttribute);
XmlAttribute memberIsUserAttribute = doc.CreateAttribute("MemberIsUser");
memberIsUserAttribute.Value = member is SPUser ? "True" : "False";
retVal.Attributes.Append(memberIsUserAttribute);
XmlAttribute memberGlobalAttribute = doc.CreateAttribute("MemberGlobal");
string isGlobalValue = "True";
if (member is SPUser)
{
SPUser user = member as SPUser;
if (!user.IsDomainGroup)
isGlobalValue = "False";
}
memberGlobalAttribute.Value = isGlobalValue;
retVal.Attributes.Append(memberGlobalAttribute);
if (member is SPUser)
{
SPUser user = member as SPUser;
XmlAttribute userLoginAttribute = doc.CreateAttribute("UserLogin");
userLoginAttribute.Value = user.LoginName;
retVal.Attributes.Append(userLoginAttribute);
}
else
{
XmlAttribute groupNameAttribute = doc.CreateAttribute("GroupName");
groupNameAttribute.Value = member.Name;
retVal.Attributes.Append(groupNameAttribute);
}
return retVal;
}