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 IServicePrincipal WrapModel(ServicePrincipalInner servicePrincipalInner) { return(servicePrincipalInner == null ? null : new ServicePrincipalImpl(servicePrincipalInner, manager)); }