Esempio n. 1
0
        public static object GetCurrentItemValue(IObject obj, SearchPanelMetaItem metaItem)
        {
            PropertyInfo property = obj.GetType().GetProperty(metaItem.Name);
            var          value    = property.GetValue(obj, null);

            return(value);
        }
Esempio n. 2
0
 public void Add(SearchPanelMetaItem item, params BaseEdit[] control)
 {
     m_LinkedItems.Add(new LinkedItem()
     {
         Controls = control.ToList(), MetaItem = item
     });
 }
Esempio n. 3
0
        /// <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>());
            }
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
        public static string GetText(SearchPanelMetaItem metaItem)
        {
            string id = metaItem.LabelId;

            return(GetText(id));
        }
Esempio n. 6
0
        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);
        }