public static void SetValue(this DateTimePicker dt, object value)
        {
            dt.DetachValueChangedEvent();

            if (Convert.IsDBNull(value) || value == null || Convert.ToString(value).Trim().Equals(string.Empty))
            {
                dt.Value   = DateTime.Now;
                dt.Checked = false;
            }
            else
            {
                double doubleValue;

                if (double.TryParse(Convert.ToString(value), out doubleValue))
                {
                    dt.Value = DateTime.FromOADate(doubleValue);
                }
                else
                {
                    dt.Value = Convert.ToDateTime(value);
                }

                dt.Checked = true;
            }

            dt.AttachValueChangedEvent();
        }