コード例 #1
0
		public async Task<UserInformation> AddUserDevice(UserDevice newUserDevice, ICredentialRetrieverService credentialRetrieverService)
		{
			newUserDevice.CheckIfNull ("newUserDevice");
			credentialRetrieverService.CheckIfNull ("credentialRetrieverService");

			using (
				var authenticatedClient = new AuthenticatedHttpClient(
					this.baseUrl,
					credentialRetrieverService.GetNetworkCredential()))
			{
				try
				{
					var content = new StringContent(this.serializer.Serialize(newUserDevice), Encoding.UTF8, ApplicationJson);
					var response = await authenticatedClient.Client.PostAsync(PostUserDevice, content);
					response.EnsureSuccessStatusCode();
					var userInformation = await response.Content.ReadAsStringAsync();
					return this.serializer.Deserialize<UserInformation>(userInformation);
				}
				catch (HttpRequestException e)
				{
					var message = e.Message;
					MvxTrace.Trace(() => message);
				}
			}

			return null;
		}
コード例 #2
0
        private AuthenticatedHttpClient CreateHttpClient()
        {
            var authority    = Configuration["D365:Authority"];
            var clientId     = Configuration["D365:ClientId"];
            var clientSecret = Configuration["D365:ClientSecret"];
            var url          = Configuration["D365:Url"];
            var version      = Configuration["D365:Version"];

            var client = new AuthenticatedHttpClient(clientId, clientSecret, authority, version, url);

            return(client);
        }
コード例 #3
0
		public async Task<UserInformation> ValidateCredentials(ICredentialRetrieverService credentialRetrieverService)
		{
			credentialRetrieverService.CheckIfNull("credentialRetrieverService");

			using (var authenticatedClient = new AuthenticatedHttpClient(this.baseUrl, credentialRetrieverService.GetNetworkCredential()))
			{
				try
				{
					var response = await authenticatedClient.Client.GetAsync(LoginInfo);
					response.EnsureSuccessStatusCode();
					var userInformation = await response.Content.ReadAsStringAsync();
					return JsonConvert.DeserializeObject<UserInformation>(userInformation);
				}
				catch (HttpRequestException e)
				{
					var message = e.Message;
					MvxTrace.Trace(() => message);
				}

				return null;
			}
		}
コード例 #4
0
		public async Task<UserInformation> DeleteUserDevice(UserDevice existingUserDevice, ICredentialRetrieverService credentialRetrieverService)
		{
			existingUserDevice.CheckIfNull("existingUserDevice");
			credentialRetrieverService.CheckIfNull("credentialRetrieverService");

			using (
				var authenticatedClient = new AuthenticatedHttpClient(
					this.baseUrl,
					credentialRetrieverService.GetNetworkCredential()))
			{
				try
				{
					var deleteUrl = string.Format(DeleteUserDeviceTemplate, existingUserDevice.Id);
					var response = await authenticatedClient.Client.DeleteAsync(deleteUrl);

					response.EnsureSuccessStatusCode();
					
					var userInformation = await response.Content.ReadAsStringAsync();
					return this.serializer.Deserialize<UserInformation>(userInformation);
				}
				catch (HttpRequestException e)
				{
					var message = e.Message;
					MvxTrace.Trace(() => message);
				}
			}

			return null;
		}