Пример #1
0
        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());
            }
        }
Пример #2
0
 /// <summary>
 /// удалить столбец из загрузки
 /// </summary>
 /// <param name="column"></param>
 public void Remove(AlorColumn column)
 {
     if (column.IsMandatory)
     {
         return;
     }
     IncludeSetAlorColumns.Remove(column);
 }
Пример #3
0
        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]);
        }
Пример #4
0
 /// <summary>
 /// добавить столбец в загрузку
 /// </summary>
 /// <param name="column"></param>
 public void Add(AlorColumn column)
 {
     IncludeSetAlorColumns.Add(column);
 }
Пример #5
0
        internal bool IsCorrectType(object[] values, AlorColumn column)
        {
            var value = GetObject(values, column);

            return(value.GetType() == column.DataType);
        }
Пример #6
0
 internal T GetValue <T>(object[] values, AlorColumn column)
 {
     return((T)GetValue(values, column));
 }