public async Task <ActionResult> GetSourceOrganisms()
        {
            var options = await FaToolDbEntities.GetSourceOrganismOptions(null);

            var orgs = options.Select(x => new { id = x.Value, name = x.Text }).ToArray();

            return(Json(orgs, JsonRequestBehavior.AllowGet));
        }
        private async Task <FunctionSearchViewModel> CreateFunctionSearch()
        {
            var query           = new ProteinSearchQuery();
            var sourceOrganisms = await FaToolDbEntities.GetSourceOrganismOptions(query.SourceOrganismID);

            query.SearchOption     = ProteinSearchOption.Function;
            query.SourceOrganismID = sourceOrganisms.FirstOrDefault().Value;
            var model = new FunctionSearchViewModel(query, sourceOrganisms);

            return(model);
        }
        private async Task <ProteinSearchViewModel> CreateModel(ProteinSearchQuery psq, int pageIndex)
        {
            var model = new ProteinSearchViewModel();

            model.Query           = psq;
            model.SourceOrganisms = await FaToolDbEntities.GetSourceOrganismOptions(psq.SourceOrganismID);

            model.SearchOptions         = EnumSources.GetProteinSearchOptions(psq.SearchOption);
            model.StatusDescription     = string.Empty;
            model.Results               = Enumerable.Empty <ProteinSearchResult>();
            model.ResultsAction         = Url.Action("Results", new { pageIndex = 0 });
            model.NextResultsAction     = Url.Action("Results", new { pageIndex = pageIndex + 1 });
            model.PreviousResultsAction = Url.Action("Results", new { pageIndex = pageIndex - 1 });

            return(model);
        }