Example #1
0
        public async Task ExamplesForCopenhagen()
        {
            var request = new RetríeveMunicipalityTaxRequest {
                Municipality = "Copenhagen", TaxDate = new DateTime(2016, 1, 1)
            };
            var response = await businessMunicipalityTaxScheduleRetrieverEngine.RetríeveMunicipalityTax(request);

            Assert.True(response != null);
            Assert.Equal(0.1M, response.Tax);
            request.TaxDate = new DateTime(2016, 5, 2);
            response        = await businessMunicipalityTaxScheduleRetrieverEngine.RetríeveMunicipalityTax(request);

            Assert.True(response != null);
            Assert.Equal(0.4M, response.Tax);
            request.TaxDate = new DateTime(2016, 7, 10);
            response        = await businessMunicipalityTaxScheduleRetrieverEngine.RetríeveMunicipalityTax(request);

            Assert.True(response != null);
            Assert.Equal(0.2M, response.Tax);
            request.TaxDate = new DateTime(2016, 3, 16);
            response        = await businessMunicipalityTaxScheduleRetrieverEngine.RetríeveMunicipalityTax(request);

            Assert.True(response != null);
            Assert.Equal(0.2M, response.Tax);
        }
Example #2
0
        public async Task NoTaxSceduleForDate()
        {
            var request = new RetríeveMunicipalityTaxRequest {
                Municipality = "Vaerloese", TaxDate = new DateTime(2016, 1, 1)
            };
            var response = await businessMunicipalityTaxScheduleRetrieverEngine.RetríeveMunicipalityTax(request);

            Assert.True(response == null);
        }
Example #3
0
        public async Task YearScheduleWhenOnlyYearSchedule()
        {
            var request = new RetríeveMunicipalityTaxRequest {
                Municipality = "Vaerloese", TaxDate = new DateTime(2020, 12, 24)
            };
            var response = await businessMunicipalityTaxScheduleRetrieverEngine.RetríeveMunicipalityTax(request);

            Assert.True(response != null);
            Assert.Equal(0.1M, response.Tax);
        }
Example #4
0
        public async Task MonthSchedulePreferredForYearWhenDateInMonthSchedule()
        {
            var request = new RetríeveMunicipalityTaxRequest {
                Municipality = "Vaerloese", TaxDate = new DateTime(2020, 11, 10)
            };
            var response = await businessMunicipalityTaxScheduleRetrieverEngine.RetríeveMunicipalityTax(request);

            Assert.True(response != null);
            Assert.Equal(0.2M, response.Tax);
        }
Example #5
0
        public async Task <ActionResult <decimal> > Get([FromQuery] RetríeveMunicipalityTaxRequest request)
        {
            // TODO implmement ExceptionHandlerFilter
            try
            {
                IRetríeveMunicipalityTaxResponse response = await businessMunicipalityTaxScheduleRetrieverEngine.RetríeveMunicipalityTax(request);

                if (response == null)
                {
                    return(NotFound());
                }
                return(Ok(response));
            }
            catch (Exception)
            {
                return(Problem());
            }
        }
        public async Task <ActionResult <decimal> > Get([FromQuery] RetríeveMunicipalityTaxRequest request)
        {
            try
            {
                // TODO implement and use BusinessLogic Engines
                // TODO read host and path info from config
                // TODO Implement ExceptionHandlerFilter
                var result = await simpleRestClient.InvokeServiceAsync(new RestServiceRequest
                {
                    Method = "get",
                    Path   = $"/municipalitytax?Municipality={request.Municipality}&TaxDate={request.TaxDate.ToString("yyyy-MM-dd")}",
                    Host   = "https://localhost:6001"
                });

                return(HandleResponse(result));
            }
            catch (Exception)
            {
                return(Problem());
            }
        }