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 void ReturnsNoCardsIfUnder18()
        {
            var results = _sut.Query(new DateTime(2004, 1, 1), 10000);

            Assert.False(results.Any());
        }