// Token: 0x06001B7C RID: 7036 RVA: 0x000693C4 File Offset: 0x000675C4 protected override AddMembersToUnifiedGroupResponse InternalExecute() { AddMembersToUnifiedGroupResponse addMembersToUnifiedGroupResponse = new AddMembersToUnifiedGroupResponse(); Stopwatch stopwatch = new Stopwatch(); try { stopwatch.Start(); UpdateUnifiedGroupTask updateUnifiedGroupTask = new UpdateUnifiedGroupTask(base.CallContext.AccessingADUser, base.CallContext.AccessingPrincipal, base.CallContext.ADRecipientSessionContext.GetADRecipientSession()); updateUnifiedGroupTask.ExternalDirectoryObjectId = this.request.ExternalDirectoryObjectId.ToString(); updateUnifiedGroupTask.AddedMembers = this.request.AddedMembers; base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.MemberCount, this.request.AddedMembers.Length); if (!updateUnifiedGroupTask.Run()) { base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.Exception, updateUnifiedGroupTask.ErrorException); base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.ExceptionType, updateUnifiedGroupTask.ErrorException.GetType()); base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.ErrorAction, updateUnifiedGroupTask.ErrorAction); if (!string.IsNullOrEmpty(updateUnifiedGroupTask.ErrorCode)) { base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.ErrorCode, updateUnifiedGroupTask.ErrorCode); } UnifiedGroupsTask.UnifiedGroupsAction errorAction = updateUnifiedGroupTask.ErrorAction; if (errorAction == UnifiedGroupsTask.UnifiedGroupsAction.AADUpdate) { throw new InternalServerErrorException(updateUnifiedGroupTask.ErrorException); } if (errorAction == UnifiedGroupsTask.UnifiedGroupsAction.ExchangeUpdate) { addMembersToUnifiedGroupResponse.ErrorState = UnifiedGroupResponseErrorState.FailedMailbox; addMembersToUnifiedGroupResponse.Error = updateUnifiedGroupTask.ErrorException.ToString(); base.CallContext.ProtocolLog.Set(ServiceCommonMetadata.GenericErrors, updateUnifiedGroupTask.ErrorException); } } } finally { base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.TotalProcessingTime, stopwatch.Elapsed.TotalSeconds.ToString("n2")); } return(addMembersToUnifiedGroupResponse); }
// Token: 0x06001B77 RID: 7031 RVA: 0x00068CD8 File Offset: 0x00066ED8 protected override CreateUnifiedGroupResponse InternalExecute() { CreateUnifiedGroupResponse createUnifiedGroupResponse = new CreateUnifiedGroupResponse(); if (!this.IsModernGroupUnique()) { throw FaultExceptionUtilities.CreateAvailabilityFault(new UnifiedGroupAlreadyExistsException(), FaultParty.Sender); } Stopwatch stopwatch = new Stopwatch(); try { stopwatch.Start(); CreateUnifiedGroupTask task = new CreateUnifiedGroupTask(base.CallContext.AccessingADUser, base.CallContext.AccessingPrincipal, base.CallContext.ADRecipientSessionContext.GetADRecipientSession()); task.Name = this.request.Name; task.Alias = this.request.Alias; task.Description = this.request.Description; task.Type = ((this.request.GroupType == ModernGroupObjectType.Public) ? ModernGroupTypeInfo.Public : ModernGroupTypeInfo.Private); task.AADComplete += delegate() { this.PushCreatedPersona(task.ExternalDirectoryObjectId); }; task.AutoSubscribeNewGroupMembers = new bool?(this.request.AutoSubscribeNewGroupMembers); task.Language = this.request.Language; IFeature autoSubscribeSetByDefault = VariantConfiguration.GetSnapshot(base.CallContext.AccessingPrincipal.GetContext(null), null, null).OwaClientServer.AutoSubscribeSetByDefault; IFeature autoSubscribeNewGroupMembers = VariantConfiguration.GetSnapshot(base.CallContext.AccessingPrincipal.GetContext(null), null, null).OwaClientServer.AutoSubscribeNewGroupMembers; if (autoSubscribeNewGroupMembers != null && autoSubscribeNewGroupMembers.Enabled && autoSubscribeSetByDefault != null) { base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.AutoSubscribeOptionDefault, autoSubscribeSetByDefault.Enabled); base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.AutoSubscribeOptionReceived, this.request.AutoSubscribeNewGroupMembers); } base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.DescriptionSpecified, (!string.IsNullOrEmpty(this.request.Description)) ? 1 : 0); if (!task.Run()) { base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.Exception, task.ErrorException); base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.ExceptionType, task.ErrorException.GetType()); base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.ErrorAction, task.ErrorAction); if (!string.IsNullOrEmpty(task.ErrorCode)) { base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.ErrorCode, task.ErrorCode); } UnifiedGroupsTask.UnifiedGroupsAction errorAction = task.ErrorAction; if (errorAction == UnifiedGroupsTask.UnifiedGroupsAction.AADCreate) { base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.ExceptionLocation, "AAD"); throw new InternalServerErrorException(task.ErrorException); } if (errorAction != UnifiedGroupsTask.UnifiedGroupsAction.ExchangeCreate) { base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.ExceptionLocation, "Unknown"); throw new InvalidOperationException("Unexpected error action: " + task.ErrorAction, task.ErrorException); } base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.ExceptionLocation, "Mailbox"); base.CallContext.ProtocolLog.Set(ServiceCommonMetadata.GenericErrors, task.ErrorException); createUnifiedGroupResponse.Error = "Provision failed for group " + this.request.Alias; createUnifiedGroupResponse.FailureState = CreateUnifiedGroupResponse.GroupProvisionFailureState.FailedMailboxProvision; } else { Persona persona = new Persona { ADObjectId = task.ADObjectGuid, Alias = this.request.Alias, DisplayName = this.request.Name, EmailAddress = new EmailAddressWrapper { EmailAddress = task.SmtpAddress, MailboxType = MailboxHelper.MailboxTypeType.GroupMailbox.ToString() } }; createUnifiedGroupResponse.Persona = persona; createUnifiedGroupResponse.ExternalDirectoryObjectId = task.ExternalDirectoryObjectId; base.CallContext.ProtocolLog.Set(CreateModernGroupCommandMetadata.GroupSmtpAddress, ExtensibleLogger.FormatPIIValue(task.SmtpAddress)); } this.LogElapsedTime(CreateModernGroupCommandMetadata.GroupCreationTime, task.CreationDiagnostics.GroupCreationTime); this.LogElapsedTime(CreateModernGroupCommandMetadata.AADIdentityCreationTime, task.CreationDiagnostics.AADIdentityCreationTime); this.LogElapsedTime(CreateModernGroupCommandMetadata.AADCompleteCallbackTime, task.CreationDiagnostics.AADCompleteCallbackTime); this.LogElapsedTime(CreateModernGroupCommandMetadata.SharePointNotificationTime, task.CreationDiagnostics.SharePointNotificationTime); this.LogElapsedTime(CreateModernGroupCommandMetadata.MailboxCreationTime, task.CreationDiagnostics.MailboxCreationTime); } finally { this.LogElapsedTime(CreateModernGroupCommandMetadata.TotalProcessingTime, new TimeSpan?(stopwatch.Elapsed)); } return(createUnifiedGroupResponse); }