示例#1
0
        /// <summary>
        /// Fills matter creation data.
        /// </summary>
        /// <returns>
        /// The <see cref="Dictionary{String, Object}"/>.
        /// </returns>
        public Dictionary <string, object> FillMatterCreationViewData()
        {
            IEnumerable <SelectListItem> natures;
            IEnumerable <Notation>       notations;

            IEnumerable <RemoteDb>     remoteDbs     = EnumExtensions.ToArray <RemoteDb>();
            IEnumerable <SequenceType> sequenceTypes = EnumExtensions.ToArray <SequenceType>();
            IEnumerable <Group>        groups        = EnumExtensions.ToArray <Group>();

            if (AccountHelper.IsAdmin())
            {
                natures   = EnumHelper.GetSelectList(typeof(Nature));
                notations = EnumExtensions.ToArray <Notation>();
            }
            else
            {
                natures       = new[] { Nature.Genetic }.ToSelectList();
                notations     = new[] { Notation.Nucleotides };
                remoteDbs     = EnumExtensions.ToArray <RemoteDb>().Where(rd => rd.GetNature() == Nature.Genetic);
                sequenceTypes = EnumExtensions.ToArray <SequenceType>().Where(st => st.GetNature() == Nature.Genetic);
                groups        = EnumExtensions.ToArray <Group>().Where(g => g.GetNature() == Nature.Genetic);
            }

            return(new Dictionary <string, object>
            {
                { "matters", SelectListHelper.GetMatterSelectList(db) },
                { "natures", natures },
                { "notations", notations.ToSelectListWithNature() },
                { "remoteDbs", remoteDbs.ToSelectListWithNature() },
                { "sequenceTypes", sequenceTypes.ToSelectListWithNature() },
                { "groups", groups.ToSelectListWithNature() },
                { "multisequences", SelectListHelper.GetMultisequenceSelectList(db) },
                { "languages", EnumHelper.GetSelectList(typeof(Language)) },
                { "translators", EnumHelper.GetSelectList(typeof(Translator)) },
                { "trajectories", EnumExtensions.SelectAllWithAttribute <ImageOrderExtractor>(typeof(ImageOrderExtractorAttribute)).ToSelectList() }
            });
        }
示例#2
0
        /// <summary>
        /// Fills view data.
        /// </summary>
        /// <param name="minSelectedMatters">
        /// The minimum selected matters.
        /// </param>
        /// <param name="maxSelectedMatters">
        /// The maximum selected matters.
        /// </param>
        /// <param name="filter">
        /// The matters filter.
        /// </param>
        /// <param name="submitName">
        /// The submit button name.
        /// </param>
        /// <returns>
        /// The <see cref="Dictionary{String, Object}"/>.
        /// </returns>
        public Dictionary <string, object> FillViewData(int minSelectedMatters, int maxSelectedMatters, Func <Matter, bool> filter, string submitName)
        {
            Dictionary <string, object> data = GetMattersData(minSelectedMatters, maxSelectedMatters, filter);

            IEnumerable <SelectListItem> natures;
            IEnumerable <Notation>       notations;
            IEnumerable <SequenceType>   sequenceTypes;
            IEnumerable <Group>          groups;

            if (AccountHelper.IsAdmin())
            {
                natures       = EnumHelper.GetSelectList(typeof(Nature));
                notations     = EnumExtensions.ToArray <Notation>();
                sequenceTypes = EnumExtensions.ToArray <SequenceType>();
                groups        = EnumExtensions.ToArray <Group>();
            }
            else
            {
                natures       = new[] { Nature.Genetic }.ToSelectList();
                notations     = new[] { Notation.Nucleotides };
                sequenceTypes = EnumExtensions.ToArray <SequenceType>().Where(st => st.GetNature() == Nature.Genetic);
                groups        = EnumExtensions.ToArray <Group>().Where(g => g.GetNature() == Nature.Genetic);
            }

            data.Add("submitName", submitName);
            data.Add("natures", natures);
            data.Add("notations", notations.ToSelectListWithNature());
            data.Add("languages", EnumHelper.GetSelectList(typeof(Language)));
            data.Add("translators", EnumHelper.GetSelectList(typeof(Translator)));
            data.Add("pauseTreatments", EnumHelper.GetSelectList(typeof(PauseTreatment)));
            data.Add("trajectories", EnumExtensions.SelectAllWithAttribute <ImageOrderExtractor>(typeof(ImageOrderExtractorAttribute)).ToSelectList());
            data.Add("sequenceTypes", sequenceTypes.ToSelectListWithNature(true));
            data.Add("groups", groups.ToSelectListWithNature(true));

            return(data);
        }