コード例 #1
0
ファイル: ColumnInfo.cs プロジェクト: teize001/Crema
 private object GetDefaultValue(ColumnInfo columnInfo)
 {
     if (columnInfo.DefaultValue != null && CremaDataTypeUtility.IsBaseType(columnInfo.DataType) == true)
     {
         var type = CremaDataTypeUtility.GetType(columnInfo.DataType);
         return(CremaConvert.ChangeType(columnInfo.DefaultValue, type));
     }
     return(columnInfo.DefaultValue);
 }
コード例 #2
0
        protected virtual void OnValidateSetDataTypeName(string value)
        {
            var dataSet = this.Table?.DataSet;

            if (value == null)
            {
                throw new ArgumentNullException(nameof(value));
            }
            if (value is string == false)
            {
                throw new ArgumentException(nameof(value));
            }

            if (dataSet == null && CremaDataTypeUtility.IsBaseType(value) == false)
            {
                if (NameValidator.VerifyItemPath(value) == false)
                {
                    throw new ArgumentException(string.Format(Resources.Exception_TypeCannotBeUsed_Format, value), nameof(value));
                }
            }
            if (CremaDataTypeUtility.IsBaseType(value) == true)
            {
                this.OnValidateSetDataType(CremaDataTypeUtility.GetType(value));
            }

            if (dataSet != null && CremaDataTypeUtility.IsBaseType(value) == false)
            {
                if (NameValidator.VerifyItemPath(value) == false)
                {
                    if (InternalDataSet.ContainsType(this.Table?.DataSet, value) == false)
                    {
                        throw new ArgumentException(string.Format(Resources.Exception_TypeCannotBeUsed_Format, value), nameof(value));
                    }
                    var dataType = InternalDataSet.GetType(this.Table?.DataSet, value);
                    this.OnValidateSetCremaType(dataType);
                }
                else
                {
                    var itemName = new ItemName(value);
                    if (InternalDataSet.ContainsType(this.Table?.DataSet, itemName.Name, itemName.CategoryPath) == false)
                    {
                        throw new ArgumentException(string.Format(Resources.Exception_TypeCannotBeUsed_Format, value), nameof(value));
                    }
                    var dataType = InternalDataSet.GetType(this.Table?.DataSet, itemName.Name, itemName.CategoryPath);
                    this.OnValidateSetCremaType(dataType);
                }
            }
        }