This commit is contained in:
Zeeshaun
2026-03-17 08:54:34 -05:00
parent 64856c640e
commit cdcba54aa4
330 changed files with 54110 additions and 0 deletions
@@ -0,0 +1,9 @@
using ReserveManagementSystemLib.Models;
namespace ReserveManagementSystemApi.Services.QueueServices
{
public interface IQueueRmsActiveLoanService
{
Task QueueRmsActiveLoanServiceRequest(RmsActiveImportRequest request);
}
}
@@ -0,0 +1,36 @@
using LCU.Library.Internal.LcuMassTransitModels;
using MassTransit;
using Newtonsoft.Json;
using ReserveManagementSystemApi.Configurations;
using ReserveManagementSystemLib.Models;
namespace ReserveManagementSystemApi.Services.QueueServices
{
public class QueueRmsActiveLoanService : IQueueRmsActiveLoanService
{
private readonly ISendEndpoint _sendEndpoint;
private readonly ReceiveEndpointConfiguration _rmsActiveLoanImportReceiveEndpoint;
public QueueRmsActiveLoanService(IBusControl busControl, ReceiveEndpointConfigurations receiveEndpointConfigurations)
{
_rmsActiveLoanImportReceiveEndpoint = receiveEndpointConfigurations.RmsActiveLoanReceiveEndpoint;
_sendEndpoint = busControl.GetSendEndpoint(_rmsActiveLoanImportReceiveEndpoint.ReceiveEndpointUri).Result;
}
public async Task QueueRmsActiveLoanServiceRequest(RmsActiveImportRequest request)
{
try
{
var cancellationTokenSource = new CancellationTokenSource(TimeSpan.FromSeconds(30));
await _sendEndpoint.Send(request, cancellationTokenSource.Token);
}
catch (Exception exception)
{
var message = "Failed to Queue RmsActiveLoanImport Request. " +
$"RmsActiveLoanImport: {JsonConvert.SerializeObject(request)}";
Log.Error(exception, message);
throw new ServiceException($"{message}, Exception Message: {exception.Message}");
}
}
}
}