// Called by test public DyntaxaBaseController(IUserDataSource userDataSourceRepository, ITaxonDataSource taxonDataSourceRepository, ISessionHelper session) { CoreData.UserManager.DataSource = userDataSourceRepository; CoreData.TaxonManager.DataSource = taxonDataSourceRepository; TaxonSearchManager = new TaxonSearchManager(userDataSourceRepository, taxonDataSourceRepository, session); _sessionHelper = session; }
public ActionResult List(string[] isNotOkForObs, string[] isRecommended) { ITaxon taxon = TaxonSearchManager.GetTaxonById(TaxonIdentifier.Id.Value); var model = new ListTaxonNameViewModel(taxon, this.TaxonRevision); //todo change revisionId ValidateTaxon(GetCurrentUser(), taxon.Id); TaxonNameList changedTaxonNames = model.GetChangedTaxonNames(isNotOkForObs, isRecommended); // Only usage: Accepted may have Recommended: Yes. foreach (ITaxonName taxonName in changedTaxonNames) { if (taxonName.IsRecommended && taxonName.NameUsage.Id != (int)TaxonNameUsageId.Accepted) { ModelState.AddModelError("", Resources.DyntaxaResource.TaxonNameListWrongNameUsage); break; } } if (ModelState.IsValid) { if (changedTaxonNames.Count > 0) { IUserContext loggedInUser = GetLoggedInUser(); using (ITransaction transaction = loggedInUser.StartTransaction()) { CoreData.TaxonManager.UpdateTaxonNames(loggedInUser, this.TaxonRevision, changedTaxonNames); transaction.Commit(); } } RedrawTree(); return(RedirectToAction("List")); } ViewBag.Taxon = taxon; return(View(model)); }
/// <summary> /// Constructor /// </summary> public DyntaxaBaseController() { TaxonSearchManager = new TaxonSearchManager(); }