public ActionResult Search(string company, string login, string key, string repository, string searchTerm, ODataUrlQueryOptions options, bool count)
        {
            var caller = Authenticate(company, login, key, manager.AuthenticateDownload(company, repository));

            if (caller == null)
                return null;

            var packages = manager.Index(caller, company, repository);
            var packagesAdapters = packages
                .AsQueryable()
                .Select(p => new PackageAdapter(p, packages));

            packagesAdapters = packagesAdapters.Process(options);

            if(!string.IsNullOrEmpty(searchTerm))
            {
                searchTerm = searchTerm.Trim('\'');
                packagesAdapters = packagesAdapters.Where(p => p.Title.Contains(searchTerm) || p.Version.Contains(searchTerm));
            }

            var result = packagesAdapters
                .ToArray();

            if (count)
                return Content(result.Length.ToString());
            else
                return Odata(company, login, key, repository, result);
        }
 public ActionResult List(string company, string login, string key, string repository, ODataUrlQueryOptions options, bool count)
 {
     return Search(company, login, key, repository, null, options, count);
 }