public async Task <IActionResult> Analysis(AnalysisDataSelectorViewModel viewModel) { Dataset dataset = null; if (viewModel.SelectedDatasetID.HasValue) { dataset = await repository.GetDatasetByID(viewModel.SelectedDatasetID.Value); } AnalysisModelBase analysisModel = AnalysisFactory.CreateAnalysisModel(viewModel.AnalysisName, dataset); //the view name is the same as the display name after spaces and hyphens removed (should be same as scriptfilename) return(View(viewModel.AnalysisName, analysisModel)); }
public async Task <IActionResult> AnalysisDataSelector(string analysisName) { IEnumerable <Script> scripts = await repository.GetScripts(); AnalysisDataSelectorViewModel viewModel = new AnalysisDataSelectorViewModel(); if (analysisName != null) { viewModel.AnalysisName = analysisName; Script script = scripts.Single(x => x.ScriptFileName == analysisName); if (!script.RequiresDataset) { return(RedirectToAction("Analysis", viewModel)); } viewModel.AnalysisDisplayName = script.ScriptDisplayName; } IEnumerable <DatasetViewModel> theDatasets = await repository.GetDatasetViewModels(); ViewBag.HasDatasets = theDatasets.Any(); if (theDatasets.Any()) { //get the scripts viewModel.Scripts = scripts; //add the last uploaded dataset in first List <DatasetViewModel> datasetInfoList = new List <DatasetViewModel>(); DatasetViewModel lastUploadedDataset = theDatasets.OrderByDescending(x => x.DatasetID).First(); datasetInfoList.Add(lastUploadedDataset); //then add all the other datasets in alphabetical order foreach (DatasetViewModel dvm in theDatasets.Where(x => x.DatasetID != lastUploadedDataset.DatasetID).OrderBy(x => x.DatasetName).ThenBy(x => x.VersionNo)) { datasetInfoList.Add(dvm); } viewModel.Datasets = datasetInfoList.AsEnumerable <DatasetViewModel>(); } return(View(viewModel)); }
public ActionResult AnalysisDataSelector(AnalysisDataSelectorViewModel viewModel) { return(RedirectToAction("Analysis", viewModel)); }