Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. SPSecurity.RunWithElevatedPrivileges(delegate()
  2. {
  3.  
  4. SPSite CurrentSite = new SPSite(properties.SiteId);
  5. SPWeb CurrentWeb = CurrentSite.OpenWeb(properties.RelativeWebUrl);
  6. SPList CurrentList = CurrentWeb.Lists[properties.ListId];
  7. SPListItem CurrentListItem;
  8. SPWeb myRootWeb = CurrentSite.RootWeb;
  9. CurrentListItem = CurrentWeb.Lists[properties.ListId].GetItemById(properties.ListItem.ID); //properties.ListItem; commented prasad on 25th aprl
  10.  
  11. SPFile spfile = CurrentListItem.Web.GetFile(CurrentListItem.Url);
  12. SPFolder spfileFolder = spfile.ParentFolder;
  13.  
  14. if (CurrentListItem != null)// && isFolder== true)
  15. {
  16. CurrentWeb.AllowUnsafeUpdates = true;
  17.  
  18. if (!CurrentListItem.HasUniqueRoleAssignments)
  19. {
  20. CurrentListItem.BreakRoleInheritance(false);
  21. CurrentWeb.AllowUnsafeUpdates = true;
  22. }
  23.  
  24.  
  25.  
  26. SPRoleAssignmentCollection SPRoleAssColn = CurrentListItem.RoleAssignments;
  27. for (int i = SPRoleAssColn.Count - 1; i >= 0; i--)
  28. {
  29. SPRoleAssignment roleAssignmentSingle = SPRoleAssColn[i];
  30. System.Type t = roleAssignmentSingle.Member.GetType();
  31. if (t.Name == "SPGroup" || t.Name == "SPUser")
  32. SPRoleAssColn.Remove(i);
  33. }
  34. }
  35.  
  36. //if (!spfileFolder.Name.Equals("Stage Gate Templates"))
  37. //{
  38. // SPUser spUsrEnsuredUser = CurrentWeb.EnsureUser(currUser.LoginName);
  39.  
  40. // SPRoleAssignment mroleAssignment = new SPRoleAssignment(spUsrEnsuredUser);
  41. // SPRoleDefinition mroleDefinition = CurrentWeb.RoleDefinitions["Contribute"];
  42. // mroleAssignment.RoleDefinitionBindings.Add(mroleDefinition);
  43. // CurrentListItem.RoleAssignments.Add(mroleAssignment);
  44. // this.EventFiringEnabled = false;
  45. // CurrentListItem.Update();
  46.  
  47.  
  48. //}
  49. if (spfileFolder.Name.Equals("Stage Gate Templates"))
  50. {
  51.  
  52. SPGroup spgPGMGroup = CurrentWeb.SiteGroups["PGM"];
  53. SPRoleAssignment mroleAssignmentPGM = new SPRoleAssignment(spgPGMGroup);
  54. SPRoleDefinition mroleDefinitionPGM = CurrentWeb.RoleDefinitions["ContributeNoDelete"];
  55. mroleAssignmentPGM.RoleDefinitionBindings.Add(mroleDefinitionPGM);
  56. CurrentListItem.RoleAssignments.Add(mroleAssignmentPGM);
  57. // this.EventFiringEnabled = false;
  58. // if (CurrentListItem.File.CheckOutType.ToString() == "None")
  59. {
  60. // CurrentListItem.File.CheckOut();
  61. CurrentListItem.Update();
  62. // CurrentListItem.File.CheckIn("Programmatically Checked In");
  63. }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement