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); } } }
public static void ValidateSetDataTypeName(InternalDataSet dataSet, string value) { 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 (dataSet != null && CremaDataTypeUtility.IsBaseType(value) == false) { if (NameValidator.VerifyItemPath(value) == false) { if (InternalDataSet.ContainsType(dataSet, value) == false) { throw new ArgumentException(string.Format(Resources.Exception_TypeCannotBeUsed_Format, value), nameof(value)); } } else { var itemName = new ItemName(value); if (InternalDataSet.ContainsType(dataSet, itemName.Name, itemName.CategoryPath) == false) { throw new ArgumentException(string.Format(Resources.Exception_TypeCannotBeUsed_Format, value), nameof(value)); } } } }