private TrolleyCalculator CreateTrolleyCalculator(TrolleyDataDto trolleyData)
        {
            var products = Mapper.Map <List <Product> >(trolleyData?.Products);
            var specials = Mapper.Map <List <Specials> >(trolleyData?.Specials);

            return(new TrolleyCalculator(products, specials, _trolleyCalculatorClient));
        }
        public async Task <decimal> Post([FromBody] TrolleyDataDto trolleyData)
        {
            var quantities = Mapper.Map <List <ProductQuantity> >(trolleyData?.Quantities);

            var calculator = CreateTrolleyCalculator(trolleyData);

            return(await calculator.LowestTotal(quantities));
        }