41 lines
1.6 KiB
C#
41 lines
1.6 KiB
C#
using Simple.OData.Client;
|
||
using System.Text;
|
||
using System.Configuration;
|
||
using Microsoft.Extensions.Configuration;
|
||
|
||
namespace JSONParser.QDocWrapper
|
||
{
|
||
public class ODataAccess
|
||
{
|
||
// URL сервиса интеграции.
|
||
|
||
private string IntegrationServiceUrl;
|
||
private string Login;
|
||
private string Password;
|
||
private IConfiguration _config;
|
||
|
||
//private const string IntegrationServiceUrl = "https://qdoc.solidcore-resources.com/Integration/odata/";
|
||
//private const string Login = "Administrator";
|
||
//private const string Password = "MQVuEw9avO";
|
||
|
||
public ODataAccess(IConfiguration config)
|
||
{
|
||
_config = config;
|
||
IntegrationServiceUrl = config["QDocSettings:IntegrationServiceUrl"];
|
||
Login = config["QDocSettings:Login"];
|
||
Password = config["QDocSettings:Password"];
|
||
// Настройки Simple OData Client: добавление ко всем запросам URL сервиса и
|
||
// заголовка с данными аутентификации.
|
||
var odataClientSettings = new ODataClientSettings(new Uri(IntegrationServiceUrl));
|
||
odataClientSettings.BeforeRequest += (HttpRequestMessage message) =>
|
||
{
|
||
var authenticationHeaderValue = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{Login}:{Password}"));
|
||
message.Headers.Add("Authorization", "Basic " + authenticationHeaderValue);
|
||
};
|
||
Client = new ODataClient(odataClientSettings);
|
||
}
|
||
|
||
public ODataClient? Client { get; set; }
|
||
}
|
||
}
|