Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SPSecurity.RunWithElevatedPrivileges(delegate()
- {
- SPSite CurrentSite = new SPSite(properties.SiteId);
- SPWeb CurrentWeb = CurrentSite.OpenWeb(properties.RelativeWebUrl);
- SPList CurrentList = CurrentWeb.Lists[properties.ListId];
- SPListItem CurrentListItem;
- SPWeb myRootWeb = CurrentSite.RootWeb;
- CurrentListItem = CurrentWeb.Lists[properties.ListId].GetItemById(properties.ListItem.ID); //properties.ListItem; commented prasad on 25th aprl
- SPFile spfile = CurrentListItem.Web.GetFile(CurrentListItem.Url);
- SPFolder spfileFolder = spfile.ParentFolder;
- if (CurrentListItem != null)// && isFolder== true)
- {
- CurrentWeb.AllowUnsafeUpdates = true;
- if (!CurrentListItem.HasUniqueRoleAssignments)
- {
- CurrentListItem.BreakRoleInheritance(false);
- CurrentWeb.AllowUnsafeUpdates = true;
- }
- SPRoleAssignmentCollection SPRoleAssColn = CurrentListItem.RoleAssignments;
- for (int i = SPRoleAssColn.Count - 1; i >= 0; i--)
- {
- SPRoleAssignment roleAssignmentSingle = SPRoleAssColn[i];
- System.Type t = roleAssignmentSingle.Member.GetType();
- if (t.Name == "SPGroup" || t.Name == "SPUser")
- SPRoleAssColn.Remove(i);
- }
- }
- //if (!spfileFolder.Name.Equals("Stage Gate Templates"))
- //{
- // SPUser spUsrEnsuredUser = CurrentWeb.EnsureUser(currUser.LoginName);
- // SPRoleAssignment mroleAssignment = new SPRoleAssignment(spUsrEnsuredUser);
- // SPRoleDefinition mroleDefinition = CurrentWeb.RoleDefinitions["Contribute"];
- // mroleAssignment.RoleDefinitionBindings.Add(mroleDefinition);
- // CurrentListItem.RoleAssignments.Add(mroleAssignment);
- // this.EventFiringEnabled = false;
- // CurrentListItem.Update();
- //}
- if (spfileFolder.Name.Equals("Stage Gate Templates"))
- {
- SPGroup spgPGMGroup = CurrentWeb.SiteGroups["PGM"];
- SPRoleAssignment mroleAssignmentPGM = new SPRoleAssignment(spgPGMGroup);
- SPRoleDefinition mroleDefinitionPGM = CurrentWeb.RoleDefinitions["ContributeNoDelete"];
- mroleAssignmentPGM.RoleDefinitionBindings.Add(mroleDefinitionPGM);
- CurrentListItem.RoleAssignments.Add(mroleAssignmentPGM);
- // this.EventFiringEnabled = false;
- // if (CurrentListItem.File.CheckOutType.ToString() == "None")
- {
- // CurrentListItem.File.CheckOut();
- CurrentListItem.Update();
- // CurrentListItem.File.CheckIn("Programmatically Checked In");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement