public async Task <TaxRateModel> GetTaxRates(TaxRateRequest request) { TaxJarRateResponse response = null; TaxRateModel mapped = mapper.Map <TaxRateModel>(request); if (request == null) { throw new ArgumentException(nameof(request), "Request cannot be null. Zip code is required."); } if (string.IsNullOrEmpty(request.Zip)) { throw new ArgumentException(nameof(request.Zip), "Zip Code is required."); } if (!string.IsNullOrEmpty(request.City) || !string.IsNullOrEmpty(request.State) || !string.IsNullOrEmpty(request.Street) || !string.IsNullOrEmpty(request.Country)) { response = await taxRepository.Get <TaxRateModel, TaxJarRateResponse>(mapped); } else { response = await taxRepository.Get <TaxJarRateResponse>(request.Zip); } return(mapper.Map <TaxRateModel>(response)); }
public void Update(Parameters.UpdateParameter param) { param.Validate(); Models.Tax tax = repository.Get(param.Id); if (tax.IsNull()) { throw new Exception("Pajak tidak di temukan"); } if (tax.Code.NotEquals(param.Code)) { assertTaxNotExist(param.Code, tax.OrganizationId); tax.Code = param.Code; } if (tax.Name.NotEquals(param.Name)) { tax.Name = param.Name; } if (tax.Value != param.Value) { tax.Value = param.Value; } if (tax.Type != param.Type) { tax.Type = param.Type; } repository.Update(tax); }
public async Task <TaxRateResponse> GetRates(GetTaxRateModel request) { if (request == null) { throw new NullReferenceException(); } if (string.IsNullOrEmpty(request.Zip)) { throw new ArgumentNullException(nameof(request.Zip)); } if (string.IsNullOrEmpty(request.Country)) { throw new ArgumentNullException(nameof(request.Country)); } var mapped = mapper.Map <TaxRateRequest>(request); return(await taxRepository.Get <TaxRateRequest, TaxRateResponse>(mapped)); }