Пример #1
0
        public static void ConvertFieldValuesToProperties <T, C>(object instance, IFindFirstWithFilter list,
                                                                 string fieldName)
            where T : BusinessBindingListBase <T, C>
            where C : BusinessBase <C>
        {
            Debug.Assert(instance != null, "instance is null");
            Debug.Assert(list != null, "list is null");
            Debug.Assert(fieldName != null, "fieldName is null");

            string[] propertyNames = PropertyReflectionHelper.GetPropertyNames(instance);

            foreach (string propertyName in propertyNames)
            {
                ConvertFieldValueToProperty <T, C>(instance, list, fieldName, propertyName);
            }
        }
Пример #2
0
        public static void ConvertPropertyValueToField <T, C>(object instance, IFindFirstWithFilter list,
                                                              string fieldName, string propertyName)
            where T : BusinessBindingListBase <T, C>
            where C : BusinessBase <C>
        {
            Debug.Assert(instance != null, "instance is null");
            Debug.Assert(list != null, "list is null");
            Debug.Assert(fieldName != null, "fieldName is null");

            Attribute attribute = PropertyReflectionHelper.GetAttributeFromProperty(instance, propertyName,
                                                                                    typeof(PropertyDescriptionAttribute));

            if (attribute != null && attribute is PropertyDescriptionAttribute)
            {
                var    fieldTypeAttribute = (PropertyDescriptionAttribute)attribute;
                string fieldType          = fieldTypeAttribute.Description;

                var filter = new Dictionary <string, object>();
                filter.Add(fieldName, fieldType);

                C fieldObj = list.FindFirstWithFilter <T, C>(filter);
                if (fieldObj != null && fieldObj is IStringValueProperty)
                {
                    var    fieldValue = fieldObj as IStringValueProperty;
                    object valObj     = GetPropertyValue(instance, propertyName);
                    if (valObj != null)
                    {
                        if (valObj is Money)
                        {
                            var money = (Money)valObj;
                            fieldValue.Value = money.Amount.ToString();
                        }
                        else
                        {
                            fieldValue.Value = valObj.ToString();
                        }
                    }
                    else
                    {
                        fieldValue.Value = null;
                    }
                }
            }
        }
Пример #3
0
        public static void ConvertFieldValueToProperty <T, C>(object instance, IFindFirstWithFilter list,
                                                              string fieldName, string propertyName)
            where T : BusinessBindingListBase <T, C>
            where C : BusinessBase <C>
        {
            Attribute attribute = PropertyReflectionHelper.GetAttributeFromProperty(instance, propertyName,
                                                                                    typeof(PropertyDescriptionAttribute));

            if (attribute != null && attribute is PropertyDescriptionAttribute)
            {
                var    fieldTypeAttribute = (PropertyDescriptionAttribute)attribute;
                string fieldType          = fieldTypeAttribute.Description;

                var filter = new Dictionary <string, object>();
                filter.Add(fieldName, fieldType);
                C fieldObj = list.FindFirstWithFilter <T, C>(filter);
                if (fieldObj != null && fieldObj is IStringValueProperty)
                {
                    var fieldValue = fieldObj as IStringValueProperty;
                    SetPropertyValue(instance, fieldValue.Value, propertyName);
                }
            }
        }