/// <summary>
/// Check if the User has permission on the document (ViewPermission)
/// </summary>
/// <returns></returns>
public bool DoesUserCanRead(string userLogin, string listId, string itemId, string siteUrl, string webId)
{
Logger.writeToLogFile(Constants.MSearch, "DoesUserCanRead Start", Logger.LogLevel.LOG);
bool CheckPermission = false;
try
{
Guid Listitemid = new Guid(listId);
Guid WebId = new Guid(webId);
int ITEMID = Convert.ToInt32(itemId);
ClientContext clientContext = new ClientContext(siteUrl);
Microsoft.SharePoint.Client.ListItem item = clientContext.Site.OpenWebById(WebId).Lists.GetById(Listitemid).GetItemById(ITEMID);
clientContext.Load(item);
clientContext.ExecuteQuery();
User usr = clientContext.Web.EnsureUser(userLogin);
clientContext.Load(usr);
clientContext.ExecuteQuery();
ClientResult<BasePermissions> result = item.GetUserEffectivePermissions(usr.LoginName);
clientContext.ExecuteQuery();
CheckPermission = result.Value.Has(PermissionKind.ViewListItems);
}
catch (Exception ex)
{
Logger.writeToLogFile("MSearch", ex.Message.ToString(), "DoesUserCanRead", userLogin, Logger.LogLevel.ERROR);
Response.Redirect("~/CGIError.aspx", true);
}
return CheckPermission;
}
/// Check if the User has permission on the document (ViewPermission)
/// </summary>
/// <returns></returns>
public bool DoesUserCanRead(string userLogin, string listId, string itemId, string siteUrl, string webId)
{
Logger.writeToLogFile(Constants.MSearch, "DoesUserCanRead Start", Logger.LogLevel.LOG);
bool CheckPermission = false;
try
{
Guid Listitemid = new Guid(listId);
Guid WebId = new Guid(webId);
int ITEMID = Convert.ToInt32(itemId);
ClientContext clientContext = new ClientContext(siteUrl);
Microsoft.SharePoint.Client.ListItem item = clientContext.Site.OpenWebById(WebId).Lists.GetById(Listitemid).GetItemById(ITEMID);
clientContext.Load(item);
clientContext.ExecuteQuery();
User usr = clientContext.Web.EnsureUser(userLogin);
clientContext.Load(usr);
clientContext.ExecuteQuery();
ClientResult<BasePermissions> result = item.GetUserEffectivePermissions(usr.LoginName);
clientContext.ExecuteQuery();
CheckPermission = result.Value.Has(PermissionKind.ViewListItems);
}
catch (Exception ex)
{
Logger.writeToLogFile("MSearch", ex.Message.ToString(), "DoesUserCanRead", userLogin, Logger.LogLevel.ERROR);
Response.Redirect("~/CGIError.aspx", true);
}
return CheckPermission;
}