public static object GetCurrentItemValue(IObject obj, SearchPanelMetaItem metaItem) { PropertyInfo property = obj.GetType().GetProperty(metaItem.Name); var value = property.GetValue(obj, null); return(value); }
public void Add(SearchPanelMetaItem item, params BaseEdit[] control) { m_LinkedItems.Add(new LinkedItem() { Controls = control.ToList(), MetaItem = item }); }
/// <summary> /// Get list value for combobox /// </summary> /// <param name = "accessor"></param> /// <param name = "metaItem"></param> /// <param name = "parameterMetaItem"></param> /// <param name = "parameterValue"></param> /// <returns></returns> public static List <object> GetItemList (IObject obj, SearchPanelMetaItem metaItem, SearchPanelMetaItem parameterMetaItem = null, object parameterValue = null) { string propertyName = metaItem.LookupName; string parameterName = parameterMetaItem != null ? parameterMetaItem.Name : ""; using (DbManagerProxy managerProxy = DbManagerFactory.Factory.Create(ModelUserContext.Instance)) { PropertyInfo settingProperty = obj.GetType().GetProperty(parameterName); if (settingProperty != null) { settingProperty.SetValue(obj, parameterValue, null); } if (string.IsNullOrWhiteSpace(propertyName)) { return(new List <object>()); } ((ILookupUsage)obj).ReloadLookupItem(managerProxy, propertyName); PropertyInfo property = obj.GetType().GetProperty(propertyName); if (property != null) { var list = (IEnumerable)property.GetValue(obj, null); if (list != null) { var itemList = new List <object>(); //object firstItem = new //{ // Name = "", // Value = "" //}; //itemList.Add(firstItem); foreach (object item in list) { string name = metaItem.LookupText(item); string value = Convert.ToString(metaItem.LookupValue(item)); object obj2 = new { Name = name, Value = value }; itemList.Add(obj2); } return(itemList); } } return(new List <object>()); } }
/// <summary> /// Get list value for combobox /// </summary> /// <param name = "obj">IObject</param> /// <param name = "metaItem"></param> /// <param name = "parameterMetaItem"></param> /// <param name = "parameterValue"></param> /// <returns></returns> public static BvSelectList GetList (IObject obj, SearchPanelMetaItem metaItem, SearchPanelMetaItem parameterMetaItem = null, object parameterValue = null) { /// delete part of name "Lookup" var regex = new Regex("(.*)Lookup"); var match = regex.Match(metaItem.LookupName); string itemListName = (match.Groups.Count < 2) ? metaItem.LookupName : match.Groups[1].Value; //string itemListName = metaItem.LookupName.Replace("Lookup", ""); var list = obj.GetList(itemListName); return(list); }
public static string GetText(SearchPanelMetaItem metaItem) { string id = metaItem.LabelId; return(GetText(id)); }
public static IEnumerable <SelectListItem> GetLookup(IObjectCreator accessor, SearchPanelMetaItem item, IObject initSource, string parameterName = null, object parameterValue = null) { var result = new List <SelectListItem>(); //if value can't be defined return empty list if (item.EditorType != EditorType.Lookup) { return(result); } var value = (parameterName != null && parameterValue != null) ? GetDependantProperty(accessor, item.LookupName, parameterName, parameterValue) : GetPropertyValue(accessor, item.LookupName); if (value == null) { return(result); } var list = (IEnumerable)value; dynamic textFunction = item.LookupText, valueFuncton = item.LookupValue; string defaultValue = item.DefaultValue == null ? null : item.DefaultValue.Invoke(initSource).ToString(); foreach (var t in list) { string itemValue = Convert.ToString(valueFuncton(t)); bool selected = !string.IsNullOrEmpty(defaultValue) && itemValue == defaultValue ? true : false; var listItem = new SelectListItem { Text = textFunction(t), Value = itemValue, Selected = selected }; result.Add(listItem); } return(result); }