48 lines
1.2 KiB
C#
48 lines
1.2 KiB
C#
using Microsoft.Extensions.Logging;
|
|
using PARR.BLL.Services.Interfaces;
|
|
using PARR.EsppOrderManager.Settings;
|
|
|
|
namespace PARR.EsppOrderManager
|
|
{
|
|
internal class EsppOrderManager : IEsppOrderManager
|
|
{
|
|
private readonly MqSettings mqSettings;
|
|
private readonly IMqService mqService;
|
|
private readonly ILogger<EsppOrderManager> logger;
|
|
|
|
public EsppOrderManager(
|
|
MqSettings mqSettings,
|
|
IMqService mqService,
|
|
ILogger<EsppOrderManager> logger
|
|
)
|
|
{
|
|
this.mqSettings = mqSettings;
|
|
this.mqService = mqService;
|
|
this.logger = logger;
|
|
}
|
|
|
|
public void Start()
|
|
{
|
|
var isConnected = mqService.InitConsumer(mqSettings, ManageOrder);
|
|
|
|
if (!isConnected)
|
|
throw new Exception("Ошибка при подключении к RabbitMq");
|
|
}
|
|
|
|
public void Stop()
|
|
{
|
|
mqService.Dispose();
|
|
}
|
|
|
|
|
|
private async Task ManageOrder(string msg)
|
|
{
|
|
logger.LogDebug($"Получили сообщение: {msg}");
|
|
|
|
//тут по идее берет в работу / выполняет
|
|
|
|
//todo:
|
|
}
|
|
}
|
|
}
|