Files
2026-03-31 14:32:23 -05:00

42 lines
2.2 KiB
C#

using System.Collections.Generic;
using System.Threading.Tasks;
using LCU.Library.Internal.CoreApiWrapperLib.Configuration;
using LCU.Library.Internal.CoreApiWrapperLib.CoreApiUtilities;
using LCU.Library.Internal.CoreApiWrapperLib.Utilities;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.CoreRequests;
using LCU.Library.Internal.CoreApiWrapperModel.CoreModels.Tax;
namespace LCU.Library.Internal.CoreApiWrapperLib.DataAccess
{
public class TaxDao : BaseCoreDao, ITaxDao
{
private readonly CoreApiConfiguration _coreApiConfiguration;
public TaxDao(ICoreRequest coreRequest, CoreConfiguration coreConfiguration) : base(coreRequest)
{
_coreApiConfiguration = coreConfiguration.CoreApiConfiguration;
}
public async Task<IEnumerable<PersonTaxIdDataResponse>> GetPersonTaxIdData(CoreRequestParameters coreRequestParameters, string taxId)
{
var endpointParameters = HttpUtilities.BuildDictionaryOfNonNullValues(coreRequestParameters);
var endpoint = _coreApiConfiguration.CoreEndPointConfiguration.GetPersonsDataByTaxId;
var request = HttpUtilities.BuildJsonOfNonNullProperties(new TaxIdRequest { TaxId = taxId });
var response = await _coreRequest.PostRequestObject<CoreApiMessage<IEnumerable<PersonTaxIdDataResponse>>>(endpoint, endpointParameters, request);
return response?.MessageBody;
}
public async Task<IEnumerable<OrganizationTaxIdDataResponse>> GetOrganizationTaxIdData(CoreRequestParameters coreRequestParameters, string taxId)
{
var endpointParameters = HttpUtilities.BuildDictionaryOfNonNullValues(coreRequestParameters);
var endpoint = _coreApiConfiguration.CoreEndPointConfiguration.GetOrganizationsDataByTaxId;
var request = HttpUtilities.BuildJsonOfNonNullProperties(new TaxIdRequest { TaxId = taxId });
var response = await _coreRequest.PostRequestObject<CoreApiMessage<IEnumerable<OrganizationTaxIdDataResponse>>>(endpoint, endpointParameters, request);
return response?.MessageBody;
}
}
}