예제 #1
0
        public void Get_Package_Product_Tariff()
        {
            var tariffs        = new AvailableTariff();
            var packageProduct = tariffs.CreatePackageProduct();

            Assert.IsType <PackageProduct>(packageProduct);
        }
예제 #2
0
        public void Get_Basic_Product_Tariff()
        {
            var tariffs      = new AvailableTariff();
            var basicProduct = tariffs.CreateBasicProduct();

            Assert.IsType <BasicProduct>(basicProduct);
        }
예제 #3
0
        public void Get_All_Tariffs()
        {
            var tariffs    = new AvailableTariff();
            var allTariffs = tariffs.GetAllTariffs();

            Assert.Equal(2, allTariffs.Count);
            Assert.NotEmpty(allTariffs);
        }
예제 #4
0
        public IActionResult Get([FromQuery(Name = "consumption")] double consumption)
        {
            try
            {
                var availableTariffs = new AvailableTariff();
                var result           = availableTariffs.GetAllTariffs()
                                       .Select(i => new { i.Name, AnnualCost = i.CostCalulation(consumption) })
                                       .Distinct()
                                       .OrderBy(i => i.AnnualCost)
                                       .ToList();

                return(Ok(result));
            }
            catch (Exception e)
            {
                return(BadRequest($"Can't get the tariff {e.Message}"));
            }
        }