コード例 #1
0
        /// <summary>
        /// Method to Calculate Order Tax
        /// </summary>
        /// <returns></returns>
        public async Task <OrderTaxResponse> TaxForOrder(OrderTaxRequest orderTax)
        {
            //Validate request and consumer
            _taxServiceValidator.ValidateOrderTaxRequest(orderTax);

            //Get Consumer Details
            var consumerDetail = _consumerHelper.GetConsumer();

            //Create api request
            var apiRequest = new OrderTaxApiRequest()
            {
                //required
                To_country   = orderTax.To_country,
                Shipping     = orderTax.Shipping,
                From_country = orderTax.From_country,
                ////optional
                From_zip    = orderTax.From_zip,
                From_city   = orderTax.From_city,
                From_state  = orderTax.From_state,
                From_street = orderTax.From_street,

                To_city         = orderTax.To_city,
                To_street       = orderTax.To_street,
                Amount          = orderTax.Amount,
                Nexus_addresses = MapAddress(orderTax.Nexus_addresses),
                Line_items      = MaplineItem(orderTax.Line_items),

                ////conditional
                To_zip   = orderTax.To_zip,
                To_state = orderTax.To_state,

                TaxApiAuthToken = consumerDetail.TaxApiAuthToken,
                TaxApiUrl       = consumerDetail.TaxApiUrl
            };

            //Call repository with valid request
            var response = await _taxRepository.TaxForOrder(apiRequest);

            return(response);
        }
コード例 #2
0
        /// <summary>
        /// Method to make Api call for Order's rate
        /// </summary>
        /// <returns></returns>
        public async Task <OrderTaxResponse> TaxForOrder(OrderTaxApiRequest apiRequest)
        {
            var response = await _apiClient.ApiCall <OrderTaxResponse>(HttpMethod.Post, apiRequest.TaxApiUrl, apiRequest.Uri, apiRequest.TaxApiAuthToken, apiRequest);

            return(response);
        }