Esempio n. 1
0
        private DateTime?ConverteToUtc()
        {
            var gregorianDate = datePickerGregorian.Value;
            var persianDate   = datePickerPersian.Value;
            var time          = clockPicker.Value;
            int hour          = 0;
            int minute        = 0;
            int year          = 0;
            int month         = 0;
            int day           = 0;

            if (time != null && !string.IsNullOrWhiteSpace(time.ToString()))
            {
                hour   = int.Parse(time.ToString().Split(':')[0]);
                minute = int.Parse(time.ToString().Split(':')[1]);
            }

            if (SelectedCalendar.GetType() == typeof(PersianCalendar))
            {
                if (datePickerPersian.Value != null && !string.IsNullOrWhiteSpace(datePickerPersian.Value.ToString()))
                {
                    var splitedPersianDate = datePickerPersian.Value.ToString().Split('/');

                    year  = int.Parse(splitedPersianDate[0]);
                    month = int.Parse(splitedPersianDate[1]);
                    day   = int.Parse(splitedPersianDate[2]);
                }
            }
            else
            {
                if (datePickerGregorian.Value != null && !string.IsNullOrWhiteSpace(datePickerGregorian.Value.ToString()))
                {
                    var dateTime = DateTime.Parse(datePickerGregorian.Value.ToString());
                    year  = dateTime.Year;
                    month = dateTime.Month;
                    day   = dateTime.Day;
                }
            }

            DateTime datetime      = SelectedCalendar.ToDateTime(year, month, day, 0, 0, 0, 0);
            var      localDateTime = new LocalDateTime(datetime.Year, datetime.Month, datetime.Day, hour, minute, 0);

            var zonedDateTime = SelectedDateTimeZone.ResolveLocal(localDateTime, mapping =>
            {
                if (mapping.Count == 1)
                {
                    return(mapping.First());
                }
                throw new Exception("Ambigious time conversion.");
            });

            return(zonedDateTime.ToDateTimeUtc());
        }
Esempio n. 2
0
 void TralusDateTimeControlGregorian_Validation(object sender, DevExpress.Web.ValidationEventArgs e)
 {
     if (SelectedCalendar.GetType() != typeof(PersianCalendar))
     {
         try
         {
             ConverteSelectedTimeToUtcAndUpdateControlsValue();
         }
         catch (Exception ex)
         {
             e.ErrorText = ex.Message;
             e.IsValid   = false;
         }
     }
 }
Esempio n. 3
0
        private DateTime?ConverteToUtc()
        {
            var gregorianDate = datePickerGregorian.Value;
            var persianDate   = datePickerPersian.Value;

            int year  = 0;
            int month = 0;
            int day   = 0;

            DateTime?datetime = null;

            if (SelectedCalendar.GetType() == typeof(PersianCalendar))
            {
                if (datePickerPersian.Value != null && !string.IsNullOrWhiteSpace(datePickerPersian.Value.ToString()))
                {
                    var splitedPersianDate = datePickerPersian.Value.ToString().Split('/');

                    year  = int.Parse(splitedPersianDate[0]);
                    month = int.Parse(splitedPersianDate[1]);
                    day   = int.Parse(splitedPersianDate[2]);
                }
            }
            else
            {
                if (datePickerGregorian.Value != null && !string.IsNullOrWhiteSpace(datePickerGregorian.Value.ToString()))
                {
                    var dateTime = DateTime.Parse(datePickerGregorian.Value.ToString());
                    year  = dateTime.Year;
                    month = dateTime.Month;
                    day   = dateTime.Day;
                }
            }

            if (year != 0 && month != 0 && day != 0)
            {
                datetime = SelectedCalendar.ToDateTime(year, month, day, 0, 0, 0, 0);
            }

            return(datetime);
        }
Esempio n. 4
0
        public DateForm(CalendarDate date)
        {
            InitializeComponent();

            // Populate calendar box
            foreach (Calendar c in Session.Project.Calendars)
            {
                CalendarBox.Items.Add(c);
            }

            fDate = date.Copy();

            Calendar cal = Session.Project.FindCalendar(fDate.CalendarID);

            if (cal != null)
            {
                CalendarBox.SelectedItem = cal;
            }
            else
            {
                CalendarBox.SelectedIndex = 0;
            }

            YearBox.Value = fDate.Year;

            MonthInfo month = SelectedCalendar.FindMonth(fDate.MonthID);

            if (month != null)
            {
                MonthBox.SelectedItem = month;
            }
            else
            {
                MonthBox.SelectedIndex = 0;
            }

            DayBox.Value = fDate.DayIndex + 1;
        }