Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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));
        }