80 lines
3.3 KiB
C#
80 lines
3.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using Serilog;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels;
|
|
using LCU.Library.Internal.CoreApiWrapperLib.DataAccess;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.Constants;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.CoreRequests;
|
|
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.AccessChannelPersons;
|
|
|
|
namespace LCU.Api.Internal.CoreApiWrapper.Services
|
|
{
|
|
public class AccessChannelPersonsService : IAccessChannelPersonsService
|
|
{
|
|
private readonly IAccessChannelPersonsDao _accessChannelPersonsDao;
|
|
|
|
public AccessChannelPersonsService(IAccessChannelPersonsDao accessChannelPersonsDao)
|
|
{
|
|
_accessChannelPersonsDao = accessChannelPersonsDao;
|
|
}
|
|
|
|
public async Task<CoreApiMessage<IEnumerable<AccessChannelPerson>>> GetAccessChannelPersonCoreApiResponseAsync(
|
|
AccessChannelPersonsByPersonRequest request)
|
|
{
|
|
try
|
|
{
|
|
var coreRequestParameters = new CoreRequestParameters();
|
|
return await _accessChannelPersonsDao.FindAccessChannelPersonsByPerson(coreRequestParameters, request);
|
|
}
|
|
catch (Exception exception)
|
|
{
|
|
Log.Error(exception, $"There was an issue finding AccessChannelPersons by Person Number. " +
|
|
$"PersonNumber: {request.PersonNumber}");
|
|
throw;
|
|
}
|
|
}
|
|
|
|
public async Task<CoreApiMessage<IEnumerable<AccessChannelPerson>>> GetAccessChannelPersonCoreApiResponseAsync(
|
|
AccessChannelPersonsByPersonRequest request, List<string> includes)
|
|
{
|
|
try
|
|
{
|
|
var coreRequestParameters = new CoreRequestParameters(includes);
|
|
return await _accessChannelPersonsDao.FindAccessChannelPersonsByPerson(coreRequestParameters, request);
|
|
}
|
|
catch (Exception exception)
|
|
{
|
|
Log.Error(exception, $"There was an issue finding AccessChannelPersons by Person Number. " +
|
|
$"PersonNumber: {request.PersonNumber}");
|
|
throw;
|
|
}
|
|
}
|
|
|
|
public async Task<AccessChannelPerson> UpdateAccessChannelPersonAsync(AccessChannelPerson request, long updateKey)
|
|
{
|
|
try
|
|
{
|
|
var coreMessageHeader = new CoreMessageHeader(updateKey);
|
|
var coreApiMessage = new CoreApiMessage<AccessChannelPerson>(coreMessageHeader, request);
|
|
var result = await _accessChannelPersonsDao.UpdateAccessChannelPerson(coreApiMessage);
|
|
|
|
if(result == null)
|
|
{
|
|
throw new Exception($"The result was null. There was an issue updating AccessChannelPerson. " +
|
|
$"PersonNumber:{request.PersonNumber}, " +
|
|
$"ChannelNumber:{request.ChannelNumber}");
|
|
}
|
|
|
|
return result;
|
|
}
|
|
catch (Exception exception)
|
|
{
|
|
Log.Error(exception, $"There was an issue updating AccessChannelPerson by Person Number. " +
|
|
$"PersonNumber: {request.PersonNumber}");
|
|
throw;
|
|
}
|
|
}
|
|
}
|
|
}
|