コード例 #1
0
ファイル: DeleteInfo.cs プロジェクト: Enzogord/QSProjects
        /// <summary>
        /// Метод автоматически заполняет поля ObjectsName и ObjectName из атрибута AppellativeAttribute
        /// в классе. И заполняет TableName из настроек NhiberNate.
        /// </summary>
        /// <returns>The from meta info.</returns>
        public DeleteInfo FillFromMetaInfo()
        {
            if (ObjectClass == null)
            {
                throw new NullReferenceException("ObjectClass должен быть заполнен.");
            }
            var attArray = ObjectClass.GetCustomAttributes(typeof(AppellativeAttribute), false);

            if (attArray.Length > 0)
            {
                if (String.IsNullOrEmpty(ObjectsName))
                {
                    ObjectsName = (attArray [0] as AppellativeAttribute).NominativePlural;
                }
            }

            if (String.IsNullOrEmpty(TableName))
            {
                var maping = OrmConfig.NhConfig.GetClassMapping(ObjectClass);
                if (maping != null)
                {
                    TableName = maping.Table.Name;
                }
            }

            return(this);
        }