private static void CreateUserConfiguration(StoreRetentionPolicyTagHelper tagHelper)
		{
			byte[] xmlData = MrmFaiFormatter.Serialize(tagHelper.TagData, tagHelper.defaultArchiveTagData, tagHelper.deletedTags, tagHelper.retentionHoldData, tagHelper.fullCrawlRequired, tagHelper.exchangePrincipal);
			CreateUserConfigurationType createUserConfiguration = new CreateUserConfigurationType
			{
				UserConfiguration = new UserConfigurationType
				{
					UserConfigurationName = new UserConfigurationNameType
					{
						Name = "MRM",
						Item = new DistinguishedFolderIdType
						{
							Id = DistinguishedFolderIdNameType.inbox
						}
					},
					XmlData = xmlData
				}
			};
			StoreRetentionPolicyTagHelper.CallEwsWithRetries(() => tagHelper.serviceBinding.CreateUserConfiguration(createUserConfiguration), delegate(ResponseMessageType responseMessage, int messageIndex)
			{
				if (responseMessage.ResponseClass == ResponseClassType.Success)
				{
					ExTraceGlobals.ELCTracer.TraceDebug(0L, "Successfully created MRM user configuration");
					return true;
				}
				ExTraceGlobals.ELCTracer.TraceDebug(0L, "MRM user configuration was not created");
				return false;
			}, tagHelper);
		}
        /// <summary>
        /// Log on to a mailbox with a specified user account and create an user configuration objects on inbox folder.
        /// </summary>
        /// <param name="userName">The name of the user used to communicate with server</param>
        /// <param name="password">The password of the user used to communicate with server</param>
        /// <param name="domain">The domain of the user used to communicate with server</param>
        /// <param name="userConfigurationName">Name of the user configuration object.</param>
        /// <returns>If succeed, return true; otherwise, return false.</returns>
        public bool CreateUserConfiguration(string userName, string password, string domain, string userConfigurationName)
        {
            userConfigurationName = userConfigurationName.Replace("_", string.Empty);
            this.exchangeServiceBinding.Credentials = new System.Net.NetworkCredential(userName, password, domain);
            CreateUserConfigurationType request = new CreateUserConfigurationType();

            request.UserConfiguration = new UserConfigurationType();
            request.UserConfiguration.UserConfigurationName      = new UserConfigurationNameType();
            request.UserConfiguration.UserConfigurationName.Name = userConfigurationName;
            DistinguishedFolderIdType distinguishedFolderId = new DistinguishedFolderIdType();

            distinguishedFolderId.Id = DistinguishedFolderIdNameType.inbox;
            request.UserConfiguration.UserConfigurationName.Item = distinguishedFolderId;

            CreateUserConfigurationResponseType response = this.exchangeServiceBinding.CreateUserConfiguration(request);

            return(response.ResponseMessages.Items[0].ResponseClass == ResponseClassType.Success &&
                   response.ResponseMessages.Items[0].ResponseCode == ResponseCodeType.NoError ? true : false);
        }
Beispiel #3
0
        // Token: 0x06000578 RID: 1400 RVA: 0x00029A2C File Offset: 0x00027C2C
        public void CreateMrmConfiguration(BaseFolderIdType folderId, byte[] userConfiguration)
        {
            CreateUserConfigurationType createUserConfiguration = new CreateUserConfigurationType
            {
                UserConfiguration = new UserConfigurationType
                {
                    UserConfigurationName = new UserConfigurationNameType
                    {
                        Name = "MRM",
                        Item = folderId
                    },
                    XmlData = userConfiguration
                }
            };

            this.CallService(() => this.ServiceBinding.CreateUserConfiguration(createUserConfiguration), delegate(ResponseMessageType responseMessage, int messageIndex)
            {
                if (responseMessage.ResponseClass == ResponseClassType.Error)
                {
                    throw new ElcEwsException(ElcEwsErrorType.FailedToCreateUserConfiguration, responseMessage.ResponseCode.ToString() + " : " + responseMessage.MessageText);
                }
                return(false);
            }, (Exception exception) => ElcEwsClient.WrapElcEwsException(ElcEwsErrorType.FailedToCreateUserConfiguration, exception));
        }