|
|
|
@ -1,4 +1,5 @@
|
|
|
|
|
using System.Collections.Immutable;
|
|
|
|
|
using Connected.Configuration;
|
|
|
|
|
using Connected.Net;
|
|
|
|
|
using Connected.Remote;
|
|
|
|
|
using Connected.ServiceModel;
|
|
|
|
@ -10,47 +11,62 @@ namespace Connected.Common.Types.TaxRates;
|
|
|
|
|
/// This is the client implementation of the <see cref="ITaxRateService"/>.
|
|
|
|
|
/// </summary>
|
|
|
|
|
internal class TaxRateService : EntityService<int>, ITaxRateService, IRemoteService
|
|
|
|
|
{
|
|
|
|
|
public TaxRateService(IHttpService http)
|
|
|
|
|
{
|
|
|
|
|
public TaxRateService(IHttpService http, IConfigurationService configurationService)
|
|
|
|
|
{
|
|
|
|
|
Http = http;
|
|
|
|
|
ConfigurationService = configurationService;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private IHttpService Http { get; }
|
|
|
|
|
|
|
|
|
|
private IConfigurationService ConfigurationService { get; }
|
|
|
|
|
|
|
|
|
|
private string GetBaseAddress()
|
|
|
|
|
{
|
|
|
|
|
var serviceConfigurations = ConfigurationService.Remote.Query(nameof(TaxRateService));
|
|
|
|
|
|
|
|
|
|
foreach (var configuration in serviceConfigurations)
|
|
|
|
|
{
|
|
|
|
|
if (!string.IsNullOrWhiteSpace(configuration?.Address))
|
|
|
|
|
return configuration.Address;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
throw new Exception("No base address registered for TaxRateService");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task Delete(PrimaryKeyArgs<int> e)
|
|
|
|
|
{
|
|
|
|
|
await Http.Post("http://localhost:5063/management/commonTypes/taxRates/delete", e);
|
|
|
|
|
await Http.Post($"{GetBaseAddress()}/management/commonTypes/taxRates/delete", e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<int> Insert(InsertTaxRateArgs e)
|
|
|
|
|
{
|
|
|
|
|
return await Http.Post<int>("http://localhost:5063/management/commonTypes/taxRates/insert", e);
|
|
|
|
|
return await Http.Post<int>($"{GetBaseAddress()}/management/commonTypes/taxRates/insert", e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<ImmutableList<ITaxRate>?> Query(PrimaryKeyListArgs<int> e)
|
|
|
|
|
{
|
|
|
|
|
return (await Http.Post<List<TaxRate>?>("http://localhost:5063/management/commonTypes/taxRates/select", e)).ToImmutableList<ITaxRate>();
|
|
|
|
|
return (await Http.Post<List<TaxRate>?>($"{GetBaseAddress()}/management/commonTypes/taxRates/select", e))?.ToImmutableList<ITaxRate>() ?? ImmutableList<ITaxRate>.Empty;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<ImmutableList<ITaxRate>?> Query(QueryArgs? args)
|
|
|
|
|
{
|
|
|
|
|
return (await Http.Post<List<TaxRate>?>("http://localhost:5063/management/commonTypes/taxRates/query", args ?? QueryArgs.NoPaging)).ToImmutableList<ITaxRate>();
|
|
|
|
|
return (await Http.Post<List<TaxRate>?>($"{GetBaseAddress()}/management/commonTypes/taxRates/query", args ?? QueryArgs.NoPaging))?.ToImmutableList<ITaxRate>() ?? ImmutableList<ITaxRate>.Empty;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<ITaxRate?> Select(PrimaryKeyArgs<int> e)
|
|
|
|
|
{
|
|
|
|
|
return await Http.Post<TaxRate>("http://localhost:5063/management/commonTypes/taxRates/select", e);
|
|
|
|
|
return await Http.Post<TaxRate>($"{GetBaseAddress()}/management/commonTypes/taxRates/select", e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task<ITaxRate?> Select(TaxRateArgs e)
|
|
|
|
|
{
|
|
|
|
|
return await Http.Post<TaxRate>("http://localhost:5063/management/commonTypes/taxRates/select", e);
|
|
|
|
|
return await Http.Post<TaxRate>($"{GetBaseAddress()}/management/commonTypes/taxRates/select", e);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public async Task Update(UpdateTaxRateArgs e)
|
|
|
|
|
{
|
|
|
|
|
await Http.Post<TaxRate>("http://localhost:5063/management/commonTypes/taxRates/update", e);
|
|
|
|
|
await Http.Post<TaxRate>($"{GetBaseAddress()}/management/commonTypes/taxRates/update", e);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|