/// <summary> /// Initialize Microsoft Graph. /// </summary> /// <typeparam name="T">Concrete type that inherits IMicrosoftGraphUserServicePhotos.</typeparam> /// <param name='appClientId'>Azure AD's App client id</param> /// <param name="servicesToInitialize">A combination of value to instanciate different services</param> /// <param name="delegatedPermissionScopes">Permission scopes for MSAL v2 endpoints</param> /// <param name="uiParent">UiParent instance - required for Android</param> /// <param name="redirectUri">Redirect Uri - required for Android</param> /// <returns>Success or failure.</returns> public bool Initialize <T>(string appClientId, ServicesToInitialize servicesToInitialize = ServicesToInitialize.Message | ServicesToInitialize.UserProfile | ServicesToInitialize.Event, string[] delegatedPermissionScopes = null, UIParent uiParent = null, string redirectUri = null) where T : IMicrosoftGraphUserServicePhotos, new() { if (string.IsNullOrEmpty(appClientId)) { throw new ArgumentNullException(nameof(appClientId)); } _redirectUri = redirectUri; _uiParent = uiParent; _photosService = new T(); AppClientId = appClientId; GraphProvider = CreateGraphClientProvider(appClientId); ServicesToInitialize = servicesToInitialize; IsInitialized = true; DelegatedPermissionScopes = delegatedPermissionScopes; return(true); }
/// <summary> /// Initializes a new instance of the <see cref="MicrosoftGraphUserService"/> class. /// </summary> /// <param name="graphProvider">Instance of GraphClientService class</param> /// <param name="photosService">Instance of IMicrosoftGraphUserServicePhotos</param> public MicrosoftGraphUserService(GraphServiceClient graphProvider, IMicrosoftGraphUserServicePhotos photosService) { _graphProvider = graphProvider; PhotosService = photosService; }