internal object GetValue(object[] values, AlorColumn column) { var value = GetObject(values, column); try { if (value is string && (string)value == string.Empty) { if (column.DataType == typeof(string)) { return(value); } value = column.DataType.CreateInstance(); } if (value == null) { value = column.DataType.CreateInstance(); } return(value.To(column.DataType)); } catch (Exception ex) { ProcessDataError(ex); return(column.DataType.CreateInstance()); } }
/// <summary> /// удалить столбец из загрузки /// </summary> /// <param name="column"></param> public void Remove(AlorColumn column) { if (column.IsMandatory) { return; } IncludeSetAlorColumns.Remove(column); }
internal object GetObject(object[] values, AlorColumn column) { if (values == null) { throw new ArgumentNullException(nameof(values)); } if (column == null) { throw new ArgumentNullException(nameof(column)); } int index = Columns.FindIndex(item => item.Name == column.Name); if (index == -1) { throw new ArgumentException(LocalizedStrings.Str3700Params.Put(column.Name, Name), nameof(column)); } return(values[index]); }
/// <summary> /// добавить столбец в загрузку /// </summary> /// <param name="column"></param> public void Add(AlorColumn column) { IncludeSetAlorColumns.Add(column); }
internal bool IsCorrectType(object[] values, AlorColumn column) { var value = GetObject(values, column); return(value.GetType() == column.DataType); }
internal T GetValue <T>(object[] values, AlorColumn column) { return((T)GetValue(values, column)); }