コード例 #1
0
        public TaxonNameUsageList GetTaxonNameUsages(IUserContext userContext)
        {
            TaxonNameUsageList list = new TaxonNameUsageList();

            list.Add(new TaxonNameUsage()
            {
                DataContext = new DataContext(userContext), Name = "Accepterad", Id = 0
            });
            list.Add(new TaxonNameUsage()
            {
                DataContext = new DataContext(userContext), Name = "Synonym", Id = 1
            });
            list.Add(new TaxonNameUsage()
            {
                DataContext = new DataContext(userContext), Name = "Homotypisk", Id = 2
            });
            list.Add(new TaxonNameUsage()
            {
                DataContext = new DataContext(userContext), Name = "Heterotypisk", Id = 3
            });
            list.Add(new TaxonNameUsage()
            {
                DataContext = new DataContext(userContext), Name = "proParte-synonym", Id = 4
            });
            list.Add(new TaxonNameUsage()
            {
                DataContext = new DataContext(userContext), Name = "Felanvänd (auct.-namn)", Id = 5
            });
            return(list);
        }
コード例 #2
0
 /// <summary>
 /// Set taxon name usage for specified locale.
 /// </summary>
 /// <param name="taxonNameUsage">Taxon name usage.</param>
 /// <param name="locale">Locale.</param>
 protected override void SetTaxonNameUsage(TaxonNameUsageList taxonNameUsage,
                                           ILocale locale)
 {
     lock (TaxonNameUsages)
     {
         TaxonNameUsages[locale.ISOCode] = taxonNameUsage;
     }
 }
コード例 #3
0
        /// <summary>
        /// Get taxon name usage for specified locale.
        /// </summary>
        /// <param name="locale">Locale.</param>
        /// <returns>Taxon name usage for specified locale.</returns>
        protected virtual TaxonNameUsageList GetTaxonNameUsage(ILocale locale)
        {
            TaxonNameUsageList taxonNameUsage = null;

            if (TaxonNameUsages.ContainsKey(locale.ISOCode))
            {
                taxonNameUsage = (TaxonNameUsageList)(TaxonNameUsages[locale.ISOCode]);
            }

            return(taxonNameUsage);
        }
コード例 #4
0
        public void InitTaxonNameDetails(TaxonNameDetailsViewModel model, ITaxon taxon)
        {
            model.CategoryList = new List <TaxonDropDownModelHelper>();
            TaxonNameCategoryList nameList = CoreData.TaxonManager.GetTaxonNameCategories(_user);

            foreach (TaxonNameCategory nameCategory in nameList)
            {
                model.CategoryList.Add(new TaxonDropDownModelHelper(nameCategory.Id, nameCategory.Name));
            }
            model.TaxonNameStatusList = new List <TaxonDropDownModelHelper>();
            TaxonNameStatusList nameStatusList = CoreData.TaxonManager.GetTaxonNameStatuses(_user);

            foreach (ITaxonNameStatus nameStatus in nameStatusList.OrderBy(t => t.SortOrder()))
            {
                model.TaxonNameStatusList.Add(new TaxonDropDownModelHelper(nameStatus.Id, nameStatus.Name));
            }
            model.TaxonNameUsageList = new List <TaxonDropDownModelHelper>();
            TaxonNameUsageList nameUsageList = CoreData.TaxonManager.GetTaxonNameUsages(_user);

            foreach (ITaxonNameUsage nameUsage in nameUsageList)
            {
                model.TaxonNameUsageList.Add(new TaxonDropDownModelHelper(nameUsage.Id, nameUsage.Name));
            }
            model.ExistingNames = new List <TaxonNameDetailsViewModel>();
            TaxonNameList taxonNames = taxon.GetTaxonNames(_user);

            for (int i = 0; i < taxonNames.Count; i++)
            {
                ITaxonName taxonName = taxonNames[i];
                model.ExistingNames.Add(TaxonNameDetailsViewModel.Create(_user, taxonName));
            }
            model.ExistingNames = (from name in model.ExistingNames orderby name.CategoryName select name).ToList();
            for (int i = 0; i < model.ExistingNames.Count; i++)
            {
                if (model.ExistingNames[i].Id == model.Id)
                {
                    model.ExistingNamesCurrentIndex = i;
                    break;
                }
            }

            // Check name category if Scentific and recommended it is not possible to change status.
            // Unselcet as recommended first and the it is possible to change name usage
            if (model.IsRecommended && (model.SelectedCategoryId == (Int32)TaxonNameCategoryId.ScientificName))
            {
                model.IsPossibleToChangeUsage = false;
            }
            else
            {
                model.IsPossibleToChangeUsage = true;
            }
        }
コード例 #5
0
        /// <summary>
        /// Get taxon name usage for specified locale.
        /// </summary>
        /// <param name="locale">Locale.</param>
        /// <returns>Taxon name usage for specified locale.</returns>
        protected override TaxonNameUsageList GetTaxonNameUsage(ILocale locale)
        {
            TaxonNameUsageList taxonNameUsage = null;

            lock (TaxonNameUsages)
            {
                if (TaxonNameUsages.ContainsKey(locale.ISOCode))
                {
                    taxonNameUsage = (TaxonNameUsageList)(TaxonNameUsages[locale.ISOCode]);
                }
            }

            return(taxonNameUsage);
        }
コード例 #6
0
 /// <summary>
 /// Set taxon name usage for specified locale.
 /// </summary>
 /// <param name="taxonNameUsage">Taxon name usage.</param>
 /// <param name="locale">Locale.</param>
 protected virtual void SetTaxonNameUsage(TaxonNameUsageList taxonNameUsage,
                                          ILocale locale)
 {
     TaxonNameUsages[locale.ISOCode] = taxonNameUsage;
 }