Exemple #1
0
 /// <summary>
 /// 填充读取的默认值
 /// </summary>
 /// <param name="property"></param>
 /// <param name="node"></param>
 protected virtual void FillOrmPropertyReadNullValueByXmlNode(OrmPropertyInfo property, XmlNode node)
 {
     if (node.Attributes == null || node.Attributes["ReadNullValue"] == null)
     {
         return;
     }
     property.HasReadNullValue = true;
     if (!node.Attributes["ReadNullValue"].Value.Equals("null"))
     {
         property.ReadNullValue = Convert.ChangeType(node.Attributes["ReadNullValue"].Value, property.PropertyType);
     }
 }
Exemple #2
0
 /// <summary>
 /// 根据property节点填充map
 /// </summary>
 /// <param name="info"></param>
 /// <param name="nodes"></param>
 protected virtual void FillOrmPropertyMapByPropertyXmlNodes(OrmObjectInfo info, XmlNodeList nodes)
 {
     foreach (XmlNode node in nodes)
     {
         OrmPropertyInfo pi = GetOrmPropertyByXmlNodeAndOrmObject(node, info);
         if (pi == null)
         {
             continue;
         }
         FillOrmPropertyMapByXmlNode(info, pi, node);
     }
 }
Exemple #3
0
        /// <summary>
        /// 填充属性map
        /// </summary>
        /// <param name="ormObject"></param>
        /// <param name="property"></param>
        /// <param name="node"></param>
        protected virtual void FillOrmPropertyMapByXmlNode(OrmObjectInfo ormObject, OrmPropertyInfo property, XmlNode node)
        {
            XmlNode xnMap = node.SelectSingleNode("MapObject");

            if (xnMap != null)
            {
                property.Map = new OrmMapInfo {
                    Orms = Orms, MapObjectName = xnMap.Attributes["Name"].Value
                };
                FillOrmPropertyMapKeyByXmlNode(ormObject, property, xnMap);
                FillOrmPropertyMapOperateByXmlNode(property, xnMap);
            }
        }
Exemple #4
0
 /// <summary>
 /// 根据property节点填充填充属性
 /// </summary>
 /// <param name="info"></param>
 /// <param name="nodes"></param>
 protected virtual void FillOrmPropertyByPropertyXmlNodes(OrmObjectInfo info, XmlNodeList nodes)
 {
     foreach (XmlNode nd in nodes)
     {
         var pi = new OrmPropertyInfo {
             ObjectName = info.ObjectName, Orms = Orms
         };
         info.Properties.Add(pi);
         FillOrmPropertyBaseByXmlNode(info, pi, nd);
         FillOrmPropertyDefaultByXmlNode(pi, nd);
         FillOrmPropertyOperatorModeByXmlNode(pi, nd);
     }
 }
Exemple #5
0
 /// <summary>
 /// 填充操作属性
 /// </summary>
 /// <param name="property"></param>
 /// <param name="node"></param>
 protected virtual void FillOrmPropertyOperatorModeByXmlNode(OrmPropertyInfo property, XmlNode node)
 {
     if (node.Attributes != null && node.Attributes["OperatorMode"] != null)
     {
         if (node.Attributes["OperatorMode"].Value.Equals("None"))
         {
             return;
         }
         string[] values = node.Attributes["OperatorMode"].Value.Split('|');
         FillOrmPropertyOperatorModeByValues(property, values);
     }
     else
     {
         FillOrmPropertyOperatorDefalutMode(property);
     }
 }
Exemple #6
0
        /// <summary>
        /// 根据值设置属性操作
        /// </summary>
        /// <param name="property"></param>
        /// <param name="values"></param>
        protected virtual void FillOrmPropertyOperatorModeByValues(OrmPropertyInfo property, string[] values)
        {
            foreach (var s in values)
            {
                switch (s)
                {
                case "Add": property.AllowAdd = true; break;

                case "Modify": property.AllowModify = true; break;

                case "Read": property.AllowRead = true; break;

                case "Remove": property.AllowRemove = true; break;

                case "Restore": property.AllowRestore = true; break;
                }
            }
        }
Exemple #7
0
 /// <summary>
 /// 填充属性基本信息
 /// </summary>
 /// <param name="ormObject"></param>
 /// <param name="property"></param>
 /// <param name="node"></param>
 protected virtual void FillOrmPropertyBaseByXmlNode(OrmObjectInfo ormObject, OrmPropertyInfo property, XmlNode node)
 {
     if (node.Attributes == null)
     {
         return;
     }
     property.PropertyName       = node.Attributes["PropertyName"].Value;
     property.NickPropertyName   = node.Attributes["NickPropertyName"] == null ? null : node.Attributes["NickPropertyName"].Value.Split(',');
     property.FieldName          = node.Attributes["FieldName"] == null ? property.PropertyName : node.Attributes["FieldName"].Value;
     property.FieldType          = node.Attributes["FieldType"] == null ? null : node.Attributes["FieldType"].Value;
     property.PropertyType       = node.Attributes["PropertyType"] == null ? null : Type.GetType(node.Attributes["PropertyType"].Value);
     property.Length             = node.Attributes["Length"] == null ? 0 : Convert.ToInt32(node.Attributes["Length"].Value);
     property.IsPrimaryKey       = node.Attributes["IsPrimaryKey"] != null && Convert.ToBoolean(node.Attributes["IsPrimaryKey"].Value);
     property.IsIdentityKey      = node.Attributes["IsIdentityKey"] != null && Convert.ToBoolean(node.Attributes["IsIdentityKey"].Value);
     property.IsCustom           = node.Attributes["IsCustom"] != null && Convert.ToBoolean(node.Attributes["IsCustom"].Value);
     property.IsOptimisticLocker = node.Attributes["IsOptimisticLocker"] != null && Convert.ToBoolean(node.Attributes["IsOptimisticLocker"].Value);
     property.IsVersion          = node.Attributes["IsVersion"] != null && Convert.ToBoolean(node.Attributes["IsVersion"].Value);
     ormObject.PrimaryProperty   = property.IsPrimaryKey ? property : ormObject.PrimaryProperty;
     ormObject.VersionProperty   = property.IsVersion ? property : ormObject.VersionProperty;
 }
Exemple #8
0
 /// <summary>
 /// 填充map操作
 /// </summary>
 /// <param name="property"></param>
 /// <param name="node"></param>
 protected virtual void FillOrmPropertyMapOperateByXmlNode(OrmPropertyInfo property, XmlNode node)
 {
     if (node.Attributes == null)
     {
         return;
     }
     property.Map.IsAdd         = node.Attributes["IsAdd"] != null && Convert.ToBoolean(node.Attributes["IsAdd"].Value);
     property.Map.IsRemove      = node.Attributes["IsRemove"] != null && Convert.ToBoolean(node.Attributes["IsRemove"].Value);
     property.Map.IsModify      = node.Attributes["IsModify"] != null && Convert.ToBoolean(node.Attributes["IsModify"].Value);
     property.Map.IsRestore     = node.Attributes["IsRestore"] != null && Convert.ToBoolean(node.Attributes["IsRestore"].Value);
     property.Map.IsRemove      = node.Attributes["IsRemove"] != null && Convert.ToBoolean(node.Attributes["IsRemove"].Value);
     property.Map.IsGreedyLoad  = node.Attributes["IsGreedyLoad"] != null && Convert.ToBoolean(node.Attributes["IsGreedyLoad"].Value);
     property.Map.IsLazyLoad    = node.Attributes["IsLazyLoad"] != null && Convert.ToBoolean(node.Attributes["IsLazyLoad"].Value);
     property.Map.IsRemote      = node.Attributes["IsRemote"] != null && Convert.ToBoolean(node.Attributes["IsRemote"].Value);
     property.Map.IsRemoveCache = node.Attributes["IsRemoveCache"] != null && Convert.ToBoolean(node.Attributes["IsRemoveCache"].Value);
     property.Map.RemoteName    = node.Attributes["RemoteName"] == null ? "" : node.Attributes["RemoteName"].Value.ToLower();
     if (node.Attributes["MapType"] != null)
     {
         property.Map.MapType = (OrmMapType)Enum.Parse(typeof(OrmMapType), node.Attributes["MapType"].Value);
     }
 }
Exemple #9
0
 /// <summary>
 /// 填充map基本属性
 /// </summary>
 /// <param name="ormObject"></param>
 /// <param name="property"></param>
 /// <param name="node"></param>
 protected virtual void FillOrmPropertyMapKeyByXmlNode(OrmObjectInfo ormObject, OrmPropertyInfo property, XmlNode node)
 {
     if (node == null || node.Attributes == null)
     {
         return;
     }
     property.Map.ObjectProperty    = ormObject.GetPropertyInfo(node.Attributes["ObjectProperty"].Value);
     property.Map.MapObjectProperty = property.Map.GetMapObject().GetPropertyInfo(node.Attributes["MapObjectProperty"].Value);
 }
Exemple #10
0
 /// <summary>
 /// 设置属性默认的操作
 /// </summary>
 /// <param name="property"></param>
 protected virtual void FillOrmPropertyOperatorDefalutMode(OrmPropertyInfo property)
 {
     property.AllowAdd    = true;
     property.AllowModify = !property.IsPrimaryKey;
     property.AllowRead   = true;
 }
Exemple #11
0
 /// <summary>
 /// 填充默认信息
 /// </summary>
 /// <param name="property"></param>
 /// <param name="node"></param>
 protected virtual void FillOrmPropertyDefaultByXmlNode(OrmPropertyInfo property, XmlNode node)
 {
     FillOrmPropertyUnAddValueByXmlNode(property, node);
     FillOrmPropertyUnModifyValueByXmlNode(property, node);
     FillOrmPropertyReadNullValueByXmlNode(property, node);
 }