Beispiel #1
0
        private List <TaxonNameViewModel> GetProParteSynonyms(ITaxon taxon)
        {
            List <TaxonNameViewModel> proParteSynonymsList = new List <TaxonNameViewModel>();
            List <ITaxonName>         proParteSynonyms     = taxon.GetProParteSynonyms(_userContext);

            foreach (ITaxonName taxonName in proParteSynonyms)
            {
                proParteSynonymsList.Add(new TaxonNameViewModel(taxonName, taxon));
            }

            return(proParteSynonymsList);
        }
        /// <summary>
        /// Gets the proParte synonyms that is ok to show to the user.
        /// </summary>
        /// <param name="isInRevision">if set to <c>true</c> the session is in revision mode.</param>
        /// <param name="isEditorUser">if set to <c>true</c> the user is taxon editor.</param>
        /// <returns>List of proParte synonyms.</returns>
        public static List <TaxonNameViewModel> GetProParteSynonymsViewModel(this ITaxon taxon, bool isInRevision, bool isEditorUser)
        {
            List <ITaxonName> proParteSynonyms = taxon.GetProParteSynonyms(CoreData.UserManager.GetCurrentUser());

            proParteSynonyms = proParteSynonyms.OrderBy(t => t.Category.Id).ThenBy(t => t.Status.SortOrder()).ToList();
            List <TaxonNameViewModel> resultList = new List <TaxonNameViewModel>();

            foreach (ITaxonName taxonName in proParteSynonyms)
            {
                if (IsNameOkToShow(taxonName, isInRevision, isEditorUser))
                {
                    resultList.Add(new TaxonNameViewModel(taxonName, taxon));
                }
            }

            return(resultList);
        }