private IActiveDirectoryObject WrapObjectInner(AADObjectInner inner) { var managementClient = ((GroupsOperations)manager.Inner.Groups).Client; string serialized = SafeJsonConvert.SerializeObject(inner, managementClient.SerializationSettings); switch (inner.ObjectType) { case "User": UserInner user = SafeJsonConvert.DeserializeObject <UserInner>(serialized, managementClient.DeserializationSettings); return(new ActiveDirectoryUserImpl(user, manager)); case "Group": ADGroupInner group = SafeJsonConvert.DeserializeObject <ADGroupInner>(serialized, managementClient.DeserializationSettings); return(new ActiveDirectoryGroupImpl(group, manager)); case "ServicePrincipal": ServicePrincipalInner sp = SafeJsonConvert.DeserializeObject <ServicePrincipalInner>(serialized, managementClient.DeserializationSettings); return(new ServicePrincipalImpl(sp, manager)); case "Application": ApplicationInner app = SafeJsonConvert.DeserializeObject <ApplicationInner>(serialized, managementClient.DeserializationSettings); return(new ActiveDirectoryApplicationImpl(app, manager)); default: return(null); } }
protected override IActiveDirectoryUser WrapModel(UserInner userInner) { if (userInner == null) { return(null); } return(new ActiveDirectoryUserImpl(userInner, manager)); }
public async Task <Microsoft.Azure.Management.Graph.RBAC.Fluent.IActiveDirectoryUser> GetByNameAsync(string name, CancellationToken cancellationToken = default(CancellationToken)) { UserInner inner = null; try { inner = await Inner.GetAsync(name, cancellationToken); } catch (GraphErrorException e) { if (e.Response.StatusCode != HttpStatusCode.NotFound) { throw e; } } if (inner != null) { return(WrapModel(inner)); } if (name.Contains("@")) { var inners = await Inner.ListAsync( new ODataQuery <UserInner> { Filter = string.Format("mail eq '{0}' or mailNickName eq '{1}%23EXT%23'", name, name.Replace("@", "_")) }, cancellationToken); if (inners != null && inners.Any()) { return(WrapModel(inners.First())); } } else { var inners = await Inner.ListAsync( new ODataQuery <UserInner> { Filter = string.Format("displayName eq '{0}'", name) }, cancellationToken); if (inners != null && inners.Any()) { return(WrapModel(inners.First())); } } return(null); }
/// <summary> /// Updates publishing user /// </summary> /// <remarks> /// Updates publishing user /// </remarks> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='userDetails'> /// Details of publishing user /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <UserInner> UpdatePublishingUserAsync(this IWebSiteManagementClient operations, UserInner userDetails, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.UpdatePublishingUserWithHttpMessagesAsync(userDetails, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Create or replace an existing user profile. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceGroupName'> /// The name of the resource group. /// </param> /// <param name='labName'> /// The name of the lab. /// </param> /// <param name='name'> /// The name of the user profile. /// </param> /// <param name='user'> /// Profile of a lab user. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <UserInner> CreateOrUpdateAsync(this IUsersOperations operations, string resourceGroupName, string labName, string name, UserInner user, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceGroupName, labName, name, user, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }