System.Data.Common.DateTimeStorage.Set C# (CSharp) Метод

Set() публичный Метод

public Set ( int record, object value ) : void
record int
value object
Результат void
        public override void Set(int record, object value)
        {
            System.Diagnostics.Debug.Assert(null != value, "null value");
            if (_nullValue == value)
            {
                _values[record] = s_defaultValue;
                SetNullBit(record, true);
            }
            else
            {
                DateTime retVal;
                DateTime tmpValue = ((IConvertible)value).ToDateTime(FormatProvider);
                switch (DateTimeMode)
                {
                    case DataSetDateTime.Utc:
                        if (tmpValue.Kind == DateTimeKind.Utc)
                        {
                            retVal = tmpValue;
                        }
                        else if (tmpValue.Kind == DateTimeKind.Local)
                        {
                            retVal = tmpValue.ToUniversalTime();
                        }
                        else
                        {
                            retVal = DateTime.SpecifyKind(tmpValue, DateTimeKind.Utc);
                        }
                        break;
                    case DataSetDateTime.Local:
                        if (tmpValue.Kind == DateTimeKind.Local)
                        {
                            retVal = tmpValue;
                        }
                        else if (tmpValue.Kind == DateTimeKind.Utc)
                        {
                            retVal = tmpValue.ToLocalTime();
                        }
                        else
                        {
                            retVal = DateTime.SpecifyKind(tmpValue, DateTimeKind.Local);
                        }
                        break;
                    case DataSetDateTime.Unspecified:
                    case DataSetDateTime.UnspecifiedLocal:
                        retVal = DateTime.SpecifyKind(tmpValue, DateTimeKind.Unspecified);
                        break;
                    default:
                        throw ExceptionBuilder.InvalidDateTimeMode(DateTimeMode);
                }
                _values[record] = retVal;
                SetNullBit(record, false);
            }
        }