Esempio n. 1
0
 private void CheckTicksRange(bool validate, DateTime time)
 {
     // Valid ticks represent times between 12:00:00.000 AM, 22/03/0622 CE and 11:59:59.999 PM, 31/12/9999 CE.
     if (validate)
     {
         long ticks = time.Ticks;
         if (ticks < 196037280000000000L)
         {
             throw new InvalidPersianDateException(FALocalizeManager.GetLocalizerByCulture(System.Threading.Thread.CurrentThread.CurrentUICulture).GetLocalizedString(StringID.PersianDate_InvalidDateTime));
         }
     }
     return;
 }
Esempio n. 2
0
        /// <summary>
        /// Creates a new instance of FADatePicker class.
        /// </summary>
        public FADatePicker()
        {
            mv = new FAMonthViewContainer(this);
            RightToLeftChanged += new EventHandler(OnInternalRightToLeftChanged);
            mv.MonthViewControl.SelectedDateTimeChanged += new EventHandler(OnMVSelectedDateTimeChanged);
            mv.MonthViewControl.ButtonClicked           += new CalendarButtonClickedEventHandler(OnMVButtonClicked);
            FALocalizeManager.LocalizerChanged          += new EventHandler(OnInternalLocalizerChanged);

            PopupShowing += new EventHandler(OnInternalPopupShowing);
            Text          = FALocalizeManager.GetLocalizerByCulture(Thread.CurrentThread.CurrentUICulture).GetLocalizedString(StringID.Validation_NullText);

            FormatInfo = FormatInfoTypes.ShortDate;
        }
 /// <summary>
 /// Updates text representation of the selected value
 /// </summary>
 public override void UpdateTextValue()
 {
     if (mv.MonthViewControl.IsNull)
     {
         Text = FALocalizeManager.GetLocalizerByCulture(Thread.CurrentThread.CurrentUICulture).GetLocalizedString(StringID.Validation_NullText);
     }
     else
     {
         if (mv.MonthViewControl.DefaultCulture.Equals(mv.MonthViewControl.PersianCulture))
         {
             Text = ((PersianDate)SelectedDateTime).ToString(GetFormatByFormatInfo(FormatInfo));
         }
         else
         {
             Text = SelectedDateTime.ToString(GetFormatByFormatInfo(FormatInfo), mv.MonthViewControl.DefaultCulture);
         }
     }
 }
Esempio n. 4
0
 private void CheckDateRange(bool validate, int year, int month, int day)
 {
     if (validate)
     {
         int maxday = GetDaysInMonth(true, year, month, 0);
         if (day < 1 || maxday < day)
         {
             if (day == 30 && month == 12)
             {
                 throw new InvalidPersianDateException(FALocalizeManager.GetLocalizerByCulture(System.Threading.Thread.CurrentThread.CurrentUICulture).GetLocalizedString(StringID.PersianDate_InvalidLeapYear));
             }
             else
             {
                 throw new InvalidPersianDateException(FALocalizeManager.GetLocalizerByCulture(System.Threading.Thread.CurrentThread.CurrentUICulture).GetLocalizedString(StringID.PersianDate_InvalidDay));
             }
         }
     }
 }
        private void OnConvertButtonClick(object sender, EventArgs e)
        {
            OnConvertButtonClicked(EventArgs.Empty);

            if (Text == null || Text == FALocalizeManager.GetLocalizerByCulture(Thread.CurrentThread.CurrentUICulture).GetLocalizedString(StringID.Validation_NullText) || Text.Length == 0)
                return;

            if (CalendarType == CalendarTypes.Persian)
            {
                CalendarType = CalendarTypes.English;
            }
            else
            {
                CalendarType = CalendarTypes.Persian;
            }

            try
            {
                if (CalendarType == CalendarTypes.Persian)
                {
                    mv.MonthViewControl.DefaultCalendar = mv.MonthViewControl.PersianCalendar;
                    mv.MonthViewControl.DefaultCulture = mv.MonthViewControl.PersianCulture;
                    DateTime dt = SelectedDateTime;

                    Text = ((PersianDate)dt).ToString(GetFormatByFormatInfo(FormatInfo));
                }
                else
                {
                    mv.MonthViewControl.DefaultCalendar = mv.MonthViewControl.InvariantCalendar;
                    mv.MonthViewControl.DefaultCulture = mv.MonthViewControl.InvariantCulture;
                    DateTime dt = SelectedDateTime;

                    Text = dt.ToString(GetFormatByFormatInfo(FormatInfo), mv.MonthViewControl.DefaultCulture);
                }
            }
            catch (FormatException)
            {
                Text = FALocalizeManager.GetLocalizerByCulture(Thread.CurrentThread.CurrentUICulture).GetLocalizedString(StringID.Validation_NullText);
                mv.MonthViewControl.SetNoneDay();
            }
        }
Esempio n. 6
0
        private void SetSelectedDateTime(DateTime dt)
        {
            DateTime oldValue = selectedDateTime;
            DateTime newValue = dt;

            SelectedDateTimeChangingEventArgs changeArgs = new SelectedDateTimeChangingEventArgs(oldValue, newValue);

            OnSelectedDateTimeChanging(changeArgs);

            if (changeArgs.Cancel)
            {
                if (string.IsNullOrEmpty(changeArgs.Message))
                {
                    Error.SetError(this, FALocalizeManager.GetLocalizerByCulture(Thread.CurrentThread.CurrentUICulture).GetLocalizedString(StringID.Validation_Cancel));
                }
                else
                {
                    Error.SetError(this, changeArgs.Message);
                }
                return;
            }

            if (!string.IsNullOrEmpty(changeArgs.Message))
            {
                Error.SetError(this, changeArgs.Message);
            }
            else
            {
                Error.SetError(this, string.Empty);
            }

            selectedDateTime = changeArgs.NewValue;
            OnSelectedDateTimeChanged(EventArgs.Empty);

            UpdateTextValue();
        }