public static GetListProperties ( ClientContext clientContext, string libraryName ) : PropertyValues | ||
clientContext | ClientContext | |
libraryName | string | |
return | PropertyValues |
public static string GetMatterName(ClientContext clientContext, string matterName) { PropertyValues propertyValues = SPList.GetListProperties(clientContext, matterName); return(propertyValues.FieldValues.ContainsKey("MatterGUID") ? System.Net.WebUtility.HtmlDecode(Convert.ToString(propertyValues.FieldValues["MatterGUID"], CultureInfo.InvariantCulture)) : matterName); }
public void UpdateUserPermissionsForMatter(MatterInformationVM matterInformation, IConfigurationRoot configuration, System.Security.SecureString securePassword) { var matter = matterInformation.Matter; var matterDetails = matterInformation.MatterDetails; var client = matterInformation.Client; int listItemId = -1; string loggedInUserName = ""; bool isEditMode = matterInformation.EditMode; ClientContext clientContext = null; IEnumerable <RoleAssignment> userPermissionOnLibrary = null; //GenericResponseVM genericResponse = null; try { clientContext = new ClientContext(matterInformation.Client.Url); clientContext.Credentials = new SharePointOnlineCredentials(configuration["General:AdminUserName"], securePassword); //if (null != matter.Conflict && !string.IsNullOrWhiteSpace(matter.Conflict.Identified)) //{ // if (Convert.ToBoolean(matter.Conflict.Identified, System.Globalization.CultureInfo.InvariantCulture)) // { // genericResponse = CheckSecurityGroupInTeamMembers(clientContext, matter, matterInformation.UserIds); // } //} //else //{ // //genericResponse = string.Format(System.Globalization.CultureInfo.InvariantCulture, ConstantStrings.ServiceResponse, TextConstants.IncorrectInputConflictIdentifiedCode, TextConstants.IncorrectInputConflictIdentifiedMessage); // return; //} //if (genericResponse == null) //{ PropertyValues matterStampedProperties = SPList.GetListProperties(clientContext, matter.Name); loggedInUserName = SPList.GetLoggedInUserDetails(clientContext).Name; // Get matter library current permissions userPermissionOnLibrary = SPList.FetchUserPermissionForLibrary(clientContext, matter.Name); string originalMatterName = SPList.GetMatterName(clientContext, matter.Name); listItemId = SPList.RetrieveItemId(clientContext, "Site Pages", originalMatterName); List <string> usersToRemove = RetrieveMatterUsers(userPermissionOnLibrary); bool hasFullPermission = CheckFullPermissionInAssignList(matter.AssignUserNames, matter.Permissions, loggedInUserName); List <string> listExists = MatterAssociatedLists(clientContext, matter.Name); AssignRemoveFullControl(clientContext, matter, loggedInUserName, listItemId, listExists, true, hasFullPermission); bool result = false; if (listExists.Contains(matter.Name)) { result = UpdatePermission(clientContext, matter, usersToRemove, loggedInUserName, false, matter.Name, -1, isEditMode); } if (listExists.Contains(matter.Name + configuration["Matter:OneNoteLibrarySuffix"])) { result = UpdatePermission(clientContext, matter, usersToRemove, loggedInUserName, false, matter.Name + configuration["Matter:OneNoteLibrarySuffix"], -1, isEditMode); } if (listExists.Contains(matter.Name + configuration["Matter:CalendarNameSuffix"])) { result = UpdatePermission(clientContext, matter, usersToRemove, loggedInUserName, false, matter.Name + configuration["Matter:CalendarNameSuffix"], -1, isEditMode); } if (listExists.Contains(matter.Name + configuration["Matter:TaskNameSuffix"])) { result = UpdatePermission(clientContext, matter, usersToRemove, loggedInUserName, false, matter.Name + configuration["Matter:TaskNameSuffix"], -1, isEditMode); } if (0 <= listItemId) { result = UpdatePermission(clientContext, matter, usersToRemove, loggedInUserName, true, "Site Pages", listItemId, isEditMode); } // Update matter metadata result = UpdateMatterStampedProperties(clientContext, matterDetails, matter, matterStampedProperties, isEditMode, configuration); //} } catch (Exception ex) { MatterRevertList matterRevertListObject = new MatterRevertList() { MatterLibrary = matter.Name, MatterOneNoteLibrary = matter.Name + configuration["Matter:OneNoteLibrarySuffix"], MatterCalendar = matter.Name + configuration["Matter:CalendarNameSuffix"], MatterTask = matter.Name + configuration["Matter:TaskNameSuffix"], MatterSitePages = "Site Pages" }; RevertMatterUpdates(client, matter, clientContext, matterRevertListObject, loggedInUserName, userPermissionOnLibrary, listItemId, isEditMode); } //return ServiceUtility.GenericResponse("9999999", "Error in updating matter information"); }