public string CreateQuote(Search search)
        {
            Check.If(search).IsNotNull();

            //find a price range
            var priceRange = _priceRangeRepository.FindMatchingPriceRange(search);

            //create a zero quote
            if (priceRange.IsNull())
                priceRange = new PriceRange();

            //save the search
            var result =
                _quoteRepository.CreateSearch(
                    search.CreateReference(_referenceGenerator).CreateQuote(_referenceGenerator, priceRange));

            //return the quote reference
            return result ? search.GetQuoteReference(): null;
        }