// Token: 0x06000E77 RID: 3703 RVA: 0x00045448 File Offset: 0x00043648 public static ADRawEntry ReadUserInformationRecord(ADObjectId id, Guid mdbGuid, Guid mbxGuid, bool createReadOnly, IEnumerable <MbxPropertyDefinition> properties, List <ValidationError> errors) { PropTag[] array = MbxRecipientSession.PropTagsFromProperties(properties); PropValue[] array4; try { if (MbxRecipientSession.storeUserInformationReader != null) { uint[] array2 = array.Cast <uint>().ToArray <uint>(); object[] array3 = MbxRecipientSession.storeUserInformationReader.ReadUserInformation(mdbGuid, mbxGuid, array2); if (array3.Length != array2.Length) { throw new ArgumentException("Number of returned property values doesn't match number of requested properties"); } array4 = new PropValue[array2.Length]; for (int i = 0; i < array4.Length; i++) { if (array3[i] != null) { array4[i] = new PropValue((PropTag)array2[i], array3[i]); } else { array4[i] = new PropValue(PropTagHelper.ConvertToError((PropTag)array2[i]), -2147221233); } } } else { using (ExRpcAdmin exRpcAdminInstance = MbxRecipientSession.GetExRpcAdminInstance()) { array4 = exRpcAdminInstance.ReadUserInfo(mdbGuid, mbxGuid, 0U, array); } } } catch (MapiPermanentException innerException) { throw new ADDriverStoreAccessPermanentException(innerException); } catch (MapiRetryableException innerException2) { throw new ADDriverStoreAccessTransientException(innerException2); } return(MbxRecipientSession.ADRawEntryFromPropValues(id, createReadOnly, array4, properties, errors)); }
// Token: 0x06000E7B RID: 3707 RVA: 0x0004576C File Offset: 0x0004396C public static void UpdateUserInformationRecord(Guid mdbGuid, Guid mbxGuid, ADPropertyBag propertiesToUpdate, IEnumerable <MbxPropertyDefinition> propertiesToRemove) { PropValue[] properties = MbxRecipientSession.PropValuesFromADPropertyBag(propertiesToUpdate); PropTag[] deletePropTag = MbxRecipientSession.PropTagsFromProperties(propertiesToRemove); try { using (ExRpcAdmin exRpcAdminInstance = MbxRecipientSession.GetExRpcAdminInstance()) { exRpcAdminInstance.UpdateUserInfo(mdbGuid, mbxGuid, 0U, properties, deletePropTag); } } catch (MapiPermanentException innerException) { throw new ADDriverStoreAccessPermanentException(innerException); } catch (MapiRetryableException innerException2) { throw new ADDriverStoreAccessTransientException(innerException2); } }
// Token: 0x06000E7C RID: 3708 RVA: 0x000457E0 File Offset: 0x000439E0 public static void RemoveUserInformationRecord(Guid mdbGuid, Guid mbxGuid) { try { using (ExRpcAdmin exRpcAdminInstance = MbxRecipientSession.GetExRpcAdminInstance()) { exRpcAdminInstance.DeleteUserInfo(mdbGuid, mbxGuid, 0U); } } catch (MapiExceptionNoSupport innerException) { throw new RemovalAPINotSupportedException(innerException); } catch (MapiPermanentException innerException2) { throw new ADDriverStoreAccessPermanentException(innerException2); } catch (MapiRetryableException innerException3) { throw new ADDriverStoreAccessTransientException(innerException3); } }
// Token: 0x06000E7A RID: 3706 RVA: 0x000456E0 File Offset: 0x000438E0 public static void CreateUserInformationRecord(Guid mdbGuid, Guid mbxGuid, ADPropertyBag properties) { PropValue[] properties2 = MbxRecipientSession.PropValuesFromADPropertyBag(properties); try { using (ExRpcAdmin exRpcAdminInstance = MbxRecipientSession.GetExRpcAdminInstance()) { exRpcAdminInstance.CreateUserInfo(mdbGuid, mbxGuid, 0U, properties2); } } catch (MapiExceptionUserInformationAlreadyExists mapiExceptionUserInformationAlreadyExists) { throw new ADObjectAlreadyExistsException(new LocalizedString(mapiExceptionUserInformationAlreadyExists.Message), mapiExceptionUserInformationAlreadyExists); } catch (MapiPermanentException innerException) { throw new ADDriverStoreAccessPermanentException(innerException); } catch (MapiRetryableException innerException2) { throw new ADDriverStoreAccessTransientException(innerException2); } }