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
}
}

View File

@@ -1,7 +0,0 @@
namespace PARR.EsppOrderLoader
{
public class Class1
{
}
}

View File

@@ -6,4 +6,10 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\PARR.BLL\PARR.BLL.csproj" />
<ProjectReference Include="..\PARR.DAL\PARR.DAL.csproj" />
<ProjectReference Include="..\PARR.EsppApi\PARR.EsppApi.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,22 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace PARR.EsppOrderLoader
{
public static class ParrEsppOrderLoaderInstaller
{
public static void InstallEsppOrderLoaderServices(this IServiceCollection services, IConfiguration configuration)
{
//TODO: добавить настройи bll и dal и espp api
// settings
//SettingsFromDb configuration
//var settingsFromDb = new SettingsFromDb();
//configuration.GetSection(nameof(SettingsFromDb)).Bind(settingsFromDb);
//services.AddSingleton(settingsFromDb);
//add other services
//services.AddTransient<IEsppApiService, EsppApiService>();
}
}
}

View File

@@ -1,7 +0,0 @@
namespace PARR.EsppOrderManager
{
public class Class1
{
}
}

View File

@@ -6,4 +6,9 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\PARR.DAL\PARR.DAL.csproj" />
<ProjectReference Include="..\PARR.EsppApi\PARR.EsppApi.csproj" />
</ItemGroup>
</Project>

View File

@@ -1,7 +0,0 @@
namespace PARR.Master
{
public class Class1
{
}
}

View File

@@ -6,4 +6,9 @@
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\PARR.BLL\PARR.BLL.csproj" />
<ProjectReference Include="..\PARR.DAL\PARR.DAL.csproj" />
</ItemGroup>
</Project>

View File

@@ -27,7 +27,7 @@ namespace PARR.Test
private async Task TestEsppApi()
{
// var orders = await esppApiService.FindOrdersByPrefixAsync(АРР__");
var orders = await esppApiService.FindOrdersByPrefixAsync(АРР__");
}
}

View File

@@ -4,5 +4,8 @@
"Default": "Information",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"EsppOrderSettings": {
"Url": "http://dafsdf"
}
}