protected PowerShellResults <L> SetObject <O, U, L>(string setCmdlet, Identity identity, U properties, Identity identityForGetCmdlet) where O : L where U : SetObjectProperties { EcpPerfCounters.WebServiceSetObject.Increment(); identity.FaultIfNull(); properties.FaultIfNull(); PowerShellResults <L> powerShellResults = new PowerShellResults <L>(); properties.IgnoreNullOrEmpty = false; if (properties.Any <KeyValuePair <string, object> >()) { powerShellResults = this.CoreInvoke <L>(new PSCommand().AddCommand(setCmdlet), identity.ToPipelineInput(), identity, properties); } if (powerShellResults.Succeeded && null != identityForGetCmdlet) { PowerShellResults <L> powerShellResults2 = null; if (properties.ReturnObjectType == ReturnObjectTypes.Full && this is IGetObjectService <O> ) { IGetObjectService <O> getObjectService = this as IGetObjectService <O>; PowerShellResults <O> @object = getObjectService.GetObject(identityForGetCmdlet); powerShellResults2 = new PowerShellResults <L>(); powerShellResults2.MergeOutput(@object.Output.Cast <L>().ToArray <L>()); powerShellResults2.MergeErrors <O>(@object); } else if (properties.ReturnObjectType == ReturnObjectTypes.PartialForList && this is IGetObjectForListService <L> ) { IGetObjectForListService <L> getObjectForListService = this as IGetObjectForListService <L>; powerShellResults2 = getObjectForListService.GetObjectForList(identityForGetCmdlet); } if (powerShellResults2 != null) { powerShellResults.MergeAll(powerShellResults2); } } return(powerShellResults); }
protected PowerShellResults <O> GetObject <O>(PSCommand psCommand, Identity identity) { EcpPerfCounters.WebServiceGetObject.Increment(); identity.FaultIfNull(); PowerShellResults <O> powerShellResults = this.CoreInvoke <O>(psCommand, identity.ToPipelineInput(), identity, null); if (powerShellResults.Output.Length > 1) { throw new SecurityException(Strings.ErrorManagementObjectAmbiguous(identity.DisplayName)); } return(powerShellResults); }
public PowerShellResults <NavBarPack> GetObject(Identity identity) { identity.FaultIfNull(); bool showAdminFeature = identity.RawIdentity == "myorg"; NavBarClientBase navBarClientBase = NavBarClientBase.Create(showAdminFeature, false, true); PowerShellResults <NavBarPack> powerShellResults = new PowerShellResults <NavBarPack>(); if (navBarClientBase != null) { navBarClientBase.PrepareNavBarPack(); NavBarPack navBarPack = navBarClientBase.GetNavBarPack(); if (navBarPack != null) { powerShellResults.Output = new NavBarPack[] { navBarPack }; } } return(powerShellResults); }
public PowerShellResults <MailboxCalendarFolderRow> SetObject(Identity identity, SetMailboxCalendarFolder properties) { identity.FaultIfNull(); return(base.SetObject <MailboxCalendarFolderRow, SetMailboxCalendarFolder>("Set-MailboxCalendarFolder", (Identity)identity.ToMailboxFolderIdParameter(), properties)); }
public PowerShellResults <MailboxCalendarFolderRow> GetObject(Identity identity) { identity.FaultIfNull(); return(base.GetObject <MailboxCalendarFolderRow>("Get-MailboxCalendarFolder", (Identity)identity.ToMailboxFolderIdParameter())); }
protected PowerShellResults <DistributionGroupRow> SetDistributionGroup <T, S, U>(Identity identity, T properties) where T : SetDistributionGroupBase <S, U> where S : SetGroupBase, new() where U : UpdateDistributionGroupMemberBase, new() { PowerShellResults <DistributionGroupRow> powerShellResults = new PowerShellResults <DistributionGroupRow>(); identity.FaultIfNull(); properties.FaultIfNull(); powerShellResults.MergeErrors <WindowsGroup>(base.SetObject <WindowsGroup, SetGroupBase>("Set-Group", identity, properties.SetGroup)); if (powerShellResults.Failed) { return(powerShellResults); } U updateDistributionGroupMember = properties.UpdateDistributionGroupMember; if (updateDistributionGroupMember.Members != null) { U updateDistributionGroupMember2 = properties.UpdateDistributionGroupMember; updateDistributionGroupMember2.IgnoreNullOrEmpty = false; powerShellResults.MergeErrors(base.Invoke(new PSCommand().AddCommand("Update-DistributionGroupMember"), new Identity[] { identity }, properties.UpdateDistributionGroupMember)); if (powerShellResults.Failed) { return(powerShellResults); } } if (RbacPrincipal.Current.IsInRole("Enterprise")) { if (properties.SendAsPermissionsEnterprise != null && !properties.SendAsPermissionsEnterprise.Added.IsNullOrEmpty()) { powerShellResults.MergeErrors(this.UpdateEnterpriseSendAsPermissions("Add-ADPermission", properties.SendAsPermissionsEnterprise.Added, new AddSendAsPermission { Identity = identity.RawIdentity })); if (powerShellResults.Failed) { return(powerShellResults); } } if (properties.SendAsPermissionsEnterprise != null && !properties.SendAsPermissionsEnterprise.Removed.IsNullOrEmpty()) { powerShellResults.MergeErrors(this.UpdateEnterpriseSendAsPermissions("Remove-ADPermission", properties.SendAsPermissionsEnterprise.Removed, new RemoveSendAsPermission { Identity = identity.RawIdentity })); if (powerShellResults.Failed) { return(powerShellResults); } } } else if (RbacPrincipal.Current.IsInRole("MultiTenant")) { if (properties.SendAsPermissionsCloud != null && !properties.SendAsPermissionsCloud.Added.IsNullOrEmpty()) { powerShellResults.MergeErrors(this.UpdateCloudSendAsPermissions("Add-RecipientPermission", properties.SendAsPermissionsCloud.Added, new AddCloudSendAsPermission { Identity = identity.RawIdentity })); if (powerShellResults.Failed) { return(powerShellResults); } } if (properties.SendAsPermissionsCloud != null && !properties.SendAsPermissionsCloud.Removed.IsNullOrEmpty()) { powerShellResults.MergeErrors(this.UpdateCloudSendAsPermissions("Remove-RecipientPermission", properties.SendAsPermissionsCloud.Removed, new AddCloudSendAsPermission { Identity = identity.RawIdentity })); if (powerShellResults.Failed) { return(powerShellResults); } } } powerShellResults.MergeAll(base.SetObject <DistributionGroup, T, DistributionGroupRow>("Set-DistributionGroup", identity, properties)); return(powerShellResults); }