private string CheckValue(ref DataRow data_row, ref ImportColumn import_column, string value, ref string error_desc) { error_desc = string.Empty; string result = ""; if (_import_table != null) { ImportLog _log = _import_table.GetLog(); if ((import_column != null) && (_log != null)) { if ((value.Length == 0) && (import_column.IsColumnRequire)) { _log.Add(ref data_row, ImportLog.ErrorType.Error, _import_table.GetSheetName(), GetAssetPath(), GetAssetValue("SerialNumber"), import_column.ColumnName, "", "Value can't be empty."); } else { string _system_type = import_column.ColumnSystemType; if (value.Length > 0) { switch (_system_type) { case "System.Int16": try { Int16 _int16_value = Int16.Parse(value); result = value; } catch { if (import_column.IsColumnRequire) _log.Add(ref data_row, ImportLog.ErrorType.Error, _import_table.GetSheetName(), GetAssetPath(), GetAssetValue("SerialNumber"), import_column.ColumnName, value, "Required value can't convert to integer(Int16) value."); else _log.Add(ref data_row, ImportLog.ErrorType.Warning, _import_table.GetSheetName(), GetAssetPath(), GetAssetValue("SerialNumber"), import_column.ColumnName, value, "Value can't convert to integer(Int16) value."); }; break; case "System.Int32": try { Int32 _int32_value = Int32.Parse(value); result = value; } catch { if (import_column.IsColumnRequire) _log.Add(ref data_row, ImportLog.ErrorType.Error, _import_table.GetSheetName(), GetAssetPath(), GetAssetValue("SerialNumber"), import_column.ColumnName, value, "Required value can't convert to integer(Int32) value."); else _log.Add(ref data_row, ImportLog.ErrorType.Warning, _import_table.GetSheetName(), GetAssetPath(), GetAssetValue("SerialNumber"), import_column.ColumnName, value, "Value can't convert to integer(Int32) value."); }; break; case "System.Byte": try { Byte _int8_value = Byte.Parse(value); result = value; } catch { if (import_column.IsColumnRequire) _log.Add(ref data_row, ImportLog.ErrorType.Error, _import_table.GetSheetName(), GetAssetPath(), GetAssetValue("SerialNumber"), import_column.ColumnName, value, "Required value can't convert to integer(Int8) value."); else _log.Add(ref data_row, ImportLog.ErrorType.Warning, _import_table.GetSheetName(), GetAssetPath(), GetAssetValue("SerialNumber"), import_column.ColumnName, value, "Value can't convert to integer(Int8) value."); }; break; case "System.Decimal": try { Decimal _decimal_value = Decimal.Parse(value); result = value; } catch { if (import_column.IsColumnRequire) _log.Add(ref data_row, ImportLog.ErrorType.Error, _import_table.GetSheetName(), GetAssetPath(), GetAssetValue("SerialNumber"), import_column.ColumnName, value, "Required value can't convert to decimal value."); else _log.Add(ref data_row, ImportLog.ErrorType.Warning, _import_table.GetSheetName(), GetAssetPath(), GetAssetValue("SerialNumber"), import_column.ColumnName, value, "Value can't convert to decimal value."); }; break; case "System.String": result = value; break; case "System.Enum": result = value; if (value.Length > 0) { string _enums = import_column.ColumnEnumeration; if (_enums.Length > 0) { AssetTypeProperty _custom_property = new AssetTypeProperty(); if (_custom_property != null) { _custom_property.Enumeration = _enums; string[] _array = _custom_property.EnumerationArray; if (_array != null) { bool _is_exist = false; for (int _array_index = 0; _array_index < _array.Length; _array_index++) { if (value == _array[_array_index]) { _is_exist = true; break; }; }; if (!_is_exist) { error_desc = "value not exist in enumeration set."; result = ""; //Now, supported auto creation undefined enum values. //_log.Add(ref data_row, ImportLog.ErrorType.Warning, _import_table.GetSheetName(), GetAssetPath(), GetAssetValue("SerialNumber"), import_column.ColumnName, value, "Value not exist in enumeration set."); }; }; }; }; }; break; case "System.DateTime": try { DateTime _datetime_value = DateTime.Parse(value); result = Functions.FormatSQLShortDateTime(_datetime_value); //result = value; } catch { if (import_column.IsColumnRequire) _log.Add(ref data_row, ImportLog.ErrorType.Error, _import_table.GetSheetName(), GetAssetPath(), GetAssetValue("SerialNumber"), import_column.ColumnName, value, "Required value can't convert to datetime value."); else _log.Add(ref data_row, ImportLog.ErrorType.Warning, _import_table.GetSheetName(), GetAssetPath(), GetAssetValue("SerialNumber"), import_column.ColumnName, value, "Value can't convert to datetime value."); }; break; }; }; }; }; }; return result; }
public static AssetTypeProperty[] SelectAllToPropertiesArray(int departmentId, int assetTypeId) { DataTable _dt = SelectAll(departmentId, assetTypeId); if (_dt.Rows.Count == 0) return new AssetTypeProperty[] { }; AssetTypeProperty[] _arr = new AssetTypeProperty[_dt.Rows.Count]; for (int i = 0; i < _dt.Rows.Count; i++) _arr[i] = new AssetTypeProperty((int)_dt.Rows[i]["Id"], _dt.Rows[i]["Name"].ToString(), (PropertyType)_dt.Rows[i]["DataType"], _dt.Rows[i]["Description"].ToString(), string.Empty, _dt.Rows[i]["Enumeration"].ToString(), string.Empty); return _arr; }