コード例 #1
0
ファイル: Assets.cs プロジェクト: evgeniynet/APIBeta
            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;
            }
コード例 #2
0
ファイル: Assets.cs プロジェクト: evgeniynet/APIBeta
 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;
 }