feat(esppApi): Заготовка для api

This commit is contained in:
Mikhail Trubnikov
2023-10-19 16:55:42 +10:00
parent 526140eea4
commit f45fca9122
14 changed files with 102 additions and 33 deletions

View File

@@ -1,21 +1,33 @@
using Microsoft.Extensions.Logging;
using PARR.EsppApi.Models;
using PARR.EsppApi.Services;
using PARR.EsppApi.Settings;
namespace PARR.EsppApi
{
internal class EsppApiService : IEsppApiService
{
private readonly ILogger<EsppApiService> logger;
private readonly EsppOrderSettings esppOrderSettings;
private readonly Espp espp;
public EsppApiService(ILogger<EsppApiService> logger)
public EsppApiService(ILogger<EsppApiService> logger, EsppOrderSettings esppOrderSettings, Espp espp)
{
this.logger = logger;
this.esppOrderSettings = esppOrderSettings;
this.espp = espp;
}
public async Task<IEnumerable<EsppOrder>> FindOrdersByPrefixAsync(string prefix)
{
logger.LogInformation("Привет!");
throw new NotImplementedException();
// var url = esppOrderSettings.Url;
var aaa = await espp.Get();
logger.LogInformation($"asdasd: {aaa}");
return new List<EsppOrder>();
}
}
}

View File

@@ -10,12 +10,8 @@
<PackageReference Include="Microsoft.Extensions.Configuration" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="7.0.4" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" />
</ItemGroup>
<ItemGroup>
<Folder Include="Settings\" />
<Folder Include="Services\" />
</ItemGroup>
</Project>

View File

@@ -1,5 +1,7 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using PARR.EsppApi.Services;
using PARR.EsppApi.Settings;
namespace PARR.EsppApi
{
@@ -8,12 +10,14 @@ namespace PARR.EsppApi
public static void InstallEsppApiServices(this IServiceCollection services, IConfiguration configuration)
{
// settings
//SettingsFromDb configuration
//var settingsFromDb = new SettingsFromDb();
//configuration.GetSection(nameof(SettingsFromDb)).Bind(settingsFromDb);
//services.AddSingleton(settingsFromDb);
var esppSettings = new EsppOrderSettings();
configuration.GetSection(nameof(EsppOrderSettings)).Bind(esppSettings);
services.AddSingleton(esppSettings);
services.AddTransient<IEsppApiService, EsppApiService>();
services.AddHttpClient<Espp>();
//add other services
}

View File

@@ -0,0 +1,27 @@
namespace PARR.EsppApi.Services
{
internal class Espp
{
private readonly HttpClient httpClient;
public Espp(HttpClient httpClient)
{
this.httpClient = httpClient;
}
public async Task<string> Get()
{
//var req = new HttpRequestMessage(HttpMethod.Get, "https://www.google.com");
//if (req == null)
// return;
var response = await httpClient.GetAsync("http://dvocor.dvgd.rzd");
var content = await response.Content.ReadAsStringAsync();
return content;
}
}
}

View File

@@ -0,0 +1,10 @@
namespace PARR.EsppApi.Settings
{
internal class EsppOrderSettings
{
public string Url { get; set; } = string.Empty;
//login, pass
//todo: add othe
}
}