public IActionResult Index(IndexPostModel model)
        {
            if (!model.DateOfBirthIsValid())
            {
                ModelState.AddModelError("DateOfBirth", "Please enter a valid date of birth");
            }

            if (!ModelState.IsValid)
            {
                return(Index());
            }

            var querier = new RecommendedCardsQuerier(_dateTime);
            var results = querier.Query(model.GetDateOfBirth(), model.AnnualIncome.Value);

            _logHandler.Handle(new LogCustomerApplication
            {
                FirstName        = model.FirstName,
                LastName         = model.LastName,
                DateOfBirth      = model.GetDateOfBirth(),
                AnnualIncome     = model.AnnualIncome.Value,
                RecommendedCards = results.Select(r => r.Name).ToArray()
            });

            return(View("Recommendations", results));
        }
        public RecommendedCardsQuerierTests()
        {
            var dateTime = new FakeDateTimeService(new DateTime(2020, 2, 8));

            _sut = new RecommendedCardsQuerier(dateTime);
        }