public ActionResult Index(DomainQueryModel prefilled)
        {
            var model = DependencyResolver.Current.GetService<DomainsViewModel>();

            if (ModelState.IsValid) 
            {
                // If query string 'query' is a valid domain search, prefill the search box, 
                // otherwise we silently ignore and let user continue searching manually.
                model.SearchQuery = prefilled.Query;
            }

            return View(model);
        }
        public JsonResult FindDomains(DomainQueryModel searchQuery)
        {
            if (ModelState.IsValid)
            {
                var searchTerms = new List<string> { searchQuery.Query };
                var domainSearchData = domainProvider.FindDomains(searchTerms);

                return JsonEnvelope.Success(new
                {
                    DomainSearchId = domainSearchData.DomainSearchId,
                    FinishSearch = domainSearchData.FinishSearch,
                    Results = domainSearchData.Results.Select(r => new DomainResultModel(r)).ToList()
                });
            }

            return JsonEnvelope.Fail(ModelState);
        }