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); }