public ActionResult Edit(string taxonId, string nameId) { int revisionId = this.RevisionId.Value; int taxonNameId = 0; if (nameId.IsNotNull()) { taxonNameId = Int32.Parse(nameId); } TaxonSearchResult searchResult = this.TaxonSearchManager.GetTaxon(taxonId); if (searchResult.NumberOfMatches != 1) { return(RedirectToSearch(taxonId, new { revisionId = revisionId, nameId = taxonNameId })); //todo change revisionId } this.TaxonIdentifier = TaxonIdTuple.Create(taxonId, searchResult.Taxon.Id); ITaxon taxon = searchResult.Taxon; ViewBag.Taxon = taxon; //this.NavigateData = new NavigateData("TaxonName", "List"); var model = _taxonNameViewManager.GetTaxonNameDetailsViewModel(taxon, nameId); return(View("Edit", model)); }
public ActionResult List(string taxonId) { int revisionId = this.RevisionId.Value; if (taxonId.IsNull()) { taxonId = this.TaxonIdentifier.Id.ToString(); } TaxonSearchResult searchResult = this.TaxonSearchManager.GetTaxon(taxonId); if (searchResult.NumberOfMatches != 1) { return(RedirectToSearch(taxonId, new { revisionId = revisionId })); } this.TaxonIdentifier = TaxonIdTuple.Create(taxonId, searchResult.Taxon.Id); ITaxon taxon = searchResult.Taxon; ViewBag.Taxon = taxon; //this.NavigateData = new NavigateData("TaxonName", "List"); var model = new ListTaxonNameViewModel(taxon, this.TaxonRevision); return(View("List", model)); }
public static TaxonSearchResult MapTaxonSearchResult(DbDataReader reader) { TaxonSearchResult t = new TaxonSearchResult(); ReflectMap(t, reader, null, null); return(t); }
public ActionResult Add(string taxonId, int?nameCategoryId) { TaxonSearchResult searchResult = this.TaxonSearchManager.GetTaxon(taxonId); if (searchResult.NumberOfMatches != 1) { return(RedirectToSearch(taxonId)); //todo change revisionId } this.TaxonIdentifier = TaxonIdTuple.Create(taxonId, searchResult.Taxon.Id); ITaxon taxon = searchResult.Taxon; ViewBag.Taxon = taxon; //this.NavigateData = new NavigateData("TaxonName", "List"); TaxonNameDetailsViewModel model = _taxonNameViewManager.GetTaxonNameDetailsViewModel(taxon); if (nameCategoryId.HasValue) { model.SelectedCategoryId = nameCategoryId.Value; } // Since taxonAdd and edit uses the same view we have to set no of references to 1, otherwise // client validation will not pass for TaxonName Add. TODO refactor Taxon name add and edit into two viewmodels model.NoOfTaxonNameReferences++; return(View("Add", model)); }
public ActionResult DefaultStraightFile(string taxonId) { TaxonSearchResult searchResult = this.TaxonSearchManager.GetTaxon(taxonId); if (searchResult.NumberOfMatches != 1) { return(RedirectToSearch(taxonId)); } ITaxon taxon = searchResult.Taxon; this.TaxonIdentifier = TaxonIdTuple.Create(taxonId, searchResult.Taxon.Id); ViewBag.Taxon = taxon; var model = ExportViewModel.Create(GetCurrentUser(), taxon, false); var manager = new ExportManager(model, GetCurrentUser()); manager.CreateExportItems(); ExcelFileFormat fileFormat = ExcelFileFormat.OpenXml; var fileDownloadName = GetValidFileName(taxon.ScientificName) + ExcelFileFormatHelper.GetExtension(fileFormat); MemoryStream excelFileStream = manager.CreateExcelFile(fileFormat); var fileStreamResult = new FileStreamResult(excelFileStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); fileStreamResult.FileDownloadName = fileDownloadName; return(fileStreamResult); }
public ActionResult DatabaseNew(string taxonId) { TaxonSearchResult searchResult = this.TaxonSearchManager.GetTaxon(taxonId); if (searchResult.NumberOfMatches != 1) { return(RedirectToSearch(taxonId)); } ITaxon taxon = searchResult.Taxon; this.TaxonIdentifier = TaxonIdTuple.Create(taxonId, searchResult.Taxon.Id); ViewBag.Taxon = taxon; var model = ExportDatabaseViewModel.Create(GetCurrentUser(), taxon); model.ClipBoard = this.TaxonIdentifier.Id.Value.ToString(); // RowDelimiter Dropbox var rowDelimiters = from MatchTaxonRowDelimiter rd in Enum.GetValues(typeof(MatchTaxonRowDelimiter)) select new { value = (int)rd, text = rd.GetLocalizedDescription() }; ViewData["RowDelimiter"] = new SelectList(rowDelimiters, "value", "text", model.RowDelimiter.ToString()); ModelState.Remove("TaxonId"); return(View(model)); }
public JsonResult TaxonId(string taxonId) { TaxonSearchResult searchResult = this.TaxonSearchManager.GetTaxon(taxonId); if (searchResult.NumberOfMatches != 1) { return(Json("No or ambigous result", JsonRequestBehavior.AllowGet)); } ITaxon taxon = searchResult.Taxon; this.TaxonIdentifier = TaxonIdTuple.Create(taxonId, searchResult.Taxon.Id); return(Json(this.TaxonIdentifier.Id, JsonRequestBehavior.AllowGet)); }
public ActionResult Graphviz(string taxonId) { IUserContext userContext = GetCurrentUser(); if (!(userContext.IsTaxonRevisionAdministrator() || userContext.IsTaxonEditor())) { return(RedirectToAction("AccessIsNotAllowed", "Account", new { url = this.Request.Url })); } TaxonSearchResult searchResult = this.TaxonSearchManager.GetTaxon(taxonId); ExportGraphVizViewModel model = null; ITaxon taxon = null; if (searchResult.NumberOfMatches == 1) { taxon = searchResult.Taxon; this.TaxonIdentifier = TaxonIdTuple.Create(taxonId, searchResult.Taxon.Id); ViewBag.Taxon = taxon; model = new ExportGraphVizViewModel(); model.ClipBoard = this.TaxonIdentifier.Id.Value.ToString(); } else { //model = ExportDatabaseViewModel.Create(GetCurrentUser(), taxon); model = new ExportGraphVizViewModel(); model.ClipBoard = ""; } var rowDelimiters = from MatchTaxonRowDelimiter rd in Enum.GetValues(typeof(MatchTaxonRowDelimiter)) select new { value = (int)rd, text = rd.GetLocalizedDescription() }; ViewData["RowDelimiter"] = new SelectList(rowDelimiters, "value", "text", model.RowDelimiter.ToString()); ModelState.Remove("TaxonId"); if (userContext.IsTaxonRevisionAdministrator() || userContext.IsTaxonEditor()) { ViewBag.ShowRefreshDyntaxaTaxonTreeButton = true; } else { ViewBag.ShowRefreshDyntaxaTaxonTreeButton = false; } ViewBag.TreeLastUpdatedTime = TaxonRelationsTreeCacheManager.CacheLastUpdatedTime; return(View(model)); }
public ActionResult TaxonList(string taxonId) { TaxonSearchResult searchResult = this.TaxonSearchManager.GetTaxon(taxonId); if (searchResult.NumberOfMatches != 1) { return(RedirectToSearch(taxonId)); } ITaxon taxon = searchResult.Taxon; this.TaxonIdentifier = TaxonIdTuple.Create(taxonId, searchResult.Taxon.Id); ViewBag.Taxon = taxon; var model = ExportViewModel.Create(GetCurrentUser(), taxon, false); ModelState.Remove("TaxonId"); return(View(model)); }
public ActionResult Settings(string taxonId) { TaxonSearchResult searchResult = this.TaxonSearchManager.GetTaxon(taxonId); if (searchResult.NumberOfMatches != 1) { return(RedirectToSearch(taxonId)); } ITaxon taxon = searchResult.Taxon; this.TaxonIdentifier = TaxonIdTuple.Create(taxonId, searchResult.Taxon.Id); ViewBag.Taxon = taxon; var viewManager = new MatchViewManager(GetCurrentUser()); MatchSettingsViewModel model = viewManager.GetMatchSettingsViewModel(taxon); CreateMatchSelectLists(model); ModelState.Remove("TaxonId"); return(View(model)); }
public ActionResult Subscriptions(string taxonId) { if (taxonId.IsNull()) { taxonId = this.TaxonIdentifier.Id.ToString(); } TaxonSearchResult searchResult = this.TaxonSearchManager.GetTaxon(taxonId); if (searchResult.NumberOfMatches != 1) { return(RedirectToSearch(taxonId)); } TaxonIdentifier = TaxonIdTuple.Create(taxonId, searchResult.Taxon.Id); ITaxon taxon = searchResult.Taxon; ViewBag.Taxon = taxon; SubscriptionViewManager subscriptionViewManager = new SubscriptionViewManager(GetCurrentUser()); SubscriptionsViewModel model = subscriptionViewManager.CreateSubscriptionsViewModel(taxon); return(View(model)); }