GetListProperties() public static method

public static GetListProperties ( ClientContext clientContext, string libraryName ) : PropertyValues
clientContext ClientContext
libraryName string
return PropertyValues
Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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");
        }