private void FillObjectList(DropDownList lst) { Dictionary <string, string> items; List <KeyValuePair <string, string> > sortedItems; // Meta Classes items = new Dictionary <string, string>(); foreach (MetaClass metaClass in DataContext.Current.MetaModel.MetaClasses) { if (!metaClass.IsBridge && !metaClass.IsCard && !String.IsNullOrEmpty(metaClass.TitleFieldName) && CHelper.CheckMetaClassIsPublic(metaClass) && !ListManager.MetaClassIsList(metaClass)) { items.Add(metaClass.Name, CHelper.GetResFileString(metaClass.FriendlyName)); } } // [BusinessObjects] Block if (items.Count > 0) { ListItem li = new ListItem(GetGlobalResourceObject("IbnFramework.GlobalMetaInfo", "BusinessObjectsBlock").ToString(), businessObjectsBlock); lst.Items.Add(li); } // SortByValue sortedItems = new List <KeyValuePair <string, string> >(items); sortedItems.Sort( delegate(KeyValuePair <string, string> firstPair, KeyValuePair <string, string> nextPair) { return(firstPair.Value.CompareTo(nextPair.Value)); } ); // add metaclasses foreach (KeyValuePair <string, string> kvp in sortedItems) { string text = String.Format(CultureInfo.InvariantCulture, " {0}", kvp.Value); lst.Items.Add(new ListItem(text, kvp.Key)); } // Lists items = new Dictionary <string, string>(); foreach (MetaClass metaClass in DataContext.Current.MetaModel.MetaClasses) { string name = metaClass.Name; if (!metaClass.IsBridge && !metaClass.IsCard && !String.IsNullOrEmpty(metaClass.TitleFieldName) && ListManager.MetaClassIsList(name)) { // Check Security int listId = ListManager.GetListIdByClassName(name); if (Mediachase.IBN.Business.ListInfoBus.CanRead(listId)) { items.Add(name, CHelper.GetResFileString(metaClass.FriendlyName)); } } } // [Lists] Block if (items.Count > 0) { ListItem li = new ListItem(GetGlobalResourceObject("IbnFramework.ListInfo", "ListsBlock").ToString(), listsBlock); lst.Items.Add(li); } // SortByValue sortedItems = new List <KeyValuePair <string, string> >(items); sortedItems.Sort( delegate(KeyValuePair <string, string> firstPair, KeyValuePair <string, string> nextPair) { return(firstPair.Value.CompareTo(nextPair.Value)); } ); // add lists foreach (KeyValuePair <string, string> kvp in sortedItems) { string text = String.Format(CultureInfo.InvariantCulture, " {0}", kvp.Value); lst.Items.Add(new ListItem(text, kvp.Key)); } lst.SelectedIndex = 1; }