/// <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() } }); }
/// <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); }