コード例 #1
0
 public void Getting_Invalid_Day_Name_Index_Throws()
 {
     Assert.Throws <ArgumentOutOfRangeException>(() => PersianDateTimeFormatInfo.GetWeekDayAbbrByIndex(-1));
     Assert.Throws <ArgumentOutOfRangeException>(() => PersianDateTimeFormatInfo.GetWeekDayAbbrByIndex(7));
     Assert.Throws <ArgumentOutOfRangeException>(() => PersianDateTimeFormatInfo.GetWeekDayByIndex(-1));
     Assert.Throws <ArgumentOutOfRangeException>(() => PersianDateTimeFormatInfo.GetWeekDayByIndex(7));
 }
コード例 #2
0
        /// <summary>
        /// Gets the name of the specified day.
        /// </summary>
        /// <param name="day"></param>
        /// <returns></returns>
        protected internal string GetDayName(DayOfWeek day)
        {
            string dayName;

            if (FALocalizeManager.Instance.CustomCulture != null)
            {
                if (FALocalizeManager.Instance.IsCustomFarsiCulture)
                {
                    dayName = PersianDateTimeFormatInfo.GetWeekDay(day);
                }
                else if (FALocalizeManager.Instance.IsCustomArabicCulture)
                {
                    dayName = FALocalizeManager.Instance.CustomCulture.DateTimeFormat.GetDayName(day);
                }
                else
                {
                    dayName = FALocalizeManager.Instance.CustomCulture.DateTimeFormat.GetDayName(day);
                }
            }
            else if (FALocalizeManager.Instance.IsThreadCultureFarsi)
            {
                dayName = PersianDateTimeFormatInfo.GetWeekDay(day);
            }
            else if (FALocalizeManager.Instance.IsThreadCultureArabic)
            {
                dayName = CultureHelper.CurrentCulture.DateTimeFormat.GetDayName(day);
            }
            else
            {
                dayName = CultureHelper.CurrentCulture.DateTimeFormat.GetAbbreviatedDayName(day);
            }

            return(dayName);
        }
コード例 #3
0
 public void Day_Index_Has_Correct_Mapping()
 {
     Assert.AreEqual(0, PersianDateTimeFormatInfo.GetDayIndex(DayOfWeek.Saturday));
     Assert.AreEqual(1, PersianDateTimeFormatInfo.GetDayIndex(DayOfWeek.Sunday));
     Assert.AreEqual(2, PersianDateTimeFormatInfo.GetDayIndex(DayOfWeek.Monday));
     Assert.AreEqual(3, PersianDateTimeFormatInfo.GetDayIndex(DayOfWeek.Tuesday));
     Assert.AreEqual(4, PersianDateTimeFormatInfo.GetDayIndex(DayOfWeek.Wednesday));
     Assert.AreEqual(5, PersianDateTimeFormatInfo.GetDayIndex(DayOfWeek.Thursday));
     Assert.AreEqual(6, PersianDateTimeFormatInfo.GetDayIndex(DayOfWeek.Friday));
 }
コード例 #4
0
 public void Abbr_Day_Index_Has_Correct_Mapping()
 {
     Assert.AreEqual("ش", PersianDateTimeFormatInfo.GetWeekDayAbbrByIndex(0));
     Assert.AreEqual("ی", PersianDateTimeFormatInfo.GetWeekDayAbbrByIndex(1));
     Assert.AreEqual("د", PersianDateTimeFormatInfo.GetWeekDayAbbrByIndex(2));
     Assert.AreEqual("س", PersianDateTimeFormatInfo.GetWeekDayAbbrByIndex(3));
     Assert.AreEqual("چ", PersianDateTimeFormatInfo.GetWeekDayAbbrByIndex(4));
     Assert.AreEqual("پ", PersianDateTimeFormatInfo.GetWeekDayAbbrByIndex(5));
     Assert.AreEqual("ج", PersianDateTimeFormatInfo.GetWeekDayAbbrByIndex(6));
 }
コード例 #5
0
 public void Day_Name_Index_Has_Correct_Mapping()
 {
     Assert.AreEqual("شنبه", PersianDateTimeFormatInfo.GetWeekDayByIndex(0));
     Assert.AreEqual("یکشنبه", PersianDateTimeFormatInfo.GetWeekDayByIndex(1));
     Assert.AreEqual("دوشنبه", PersianDateTimeFormatInfo.GetWeekDayByIndex(2));
     Assert.AreEqual("ﺳﻪشنبه", PersianDateTimeFormatInfo.GetWeekDayByIndex(3));
     Assert.AreEqual("چهارشنبه", PersianDateTimeFormatInfo.GetWeekDayByIndex(4));
     Assert.AreEqual("پنجشنبه", PersianDateTimeFormatInfo.GetWeekDayByIndex(5));
     Assert.AreEqual("جمعه", PersianDateTimeFormatInfo.GetWeekDayByIndex(6));
 }
コード例 #6
0
        /// <summary>
        /// Returns the day of week based on calendar.
        /// </summary>
        /// <param name="dt"></param>
        /// <param name="calendar"></param>
        /// <returns></returns>
        public static int GetDayOfWeek(DateTime dt, Calendar calendar)
        {
            var calendarType = calendar.GetType();

            if (calendarType == typeof(PersianCalendar) ||
                calendarType == typeof(System.Globalization.PersianCalendar))
            {
                return(PersianDateTimeFormatInfo.GetDayIndex(dt.DayOfWeek));
            }

            return((int)dt.DayOfWeek);
        }
コード例 #7
0
        protected internal int GetFirstDayOfWeek(DateTime date)
        {
            if (CultureHelper.IsFarsiCulture)
            {
                return(PersianDateTimeFormatInfo.GetDayIndex(date.DayOfWeek));
            }

            if (CultureHelper.IsArabicCulture)
            {
                return((int)date.DayOfWeek);
            }

            return((int)date.DayOfWeek);
        }
コード例 #8
0
        /// <summary>
        /// Gets the abbreviated name of the specified day.
        /// </summary>
        /// <param name="day"></param>
        /// <returns></returns>
        protected internal string GetAbbrDayName(DayOfWeek day)
        {
            string dayName;

            if (FALocalizeManager.Instance.CustomCulture != null)
            {
                if (FALocalizeManager.Instance.IsCustomFarsiCulture)
                {
                    dayName = PersianDateTimeFormatInfo.GetWeekDayAbbr(day);
                }
                else if (FALocalizeManager.Instance.IsCustomArabicCulture)
                {
                    dayName = FALocalizeManager.Instance.CustomCulture.DateTimeFormat.GetAbbreviatedDayName(day);
                    dayName = dayName.Remove(0, 2).Substring(0, 1);
                }
                else
                {
                    dayName = FALocalizeManager.Instance.CustomCulture.DateTimeFormat.GetAbbreviatedDayName(day);
                }
            }
            else if (FALocalizeManager.Instance.IsThreadCultureFarsi)
            {
                dayName = PersianDateTimeFormatInfo.GetWeekDayAbbr(day);
            }
            else if (FALocalizeManager.Instance.IsThreadCultureArabic)
            {
                dayName = CultureHelper.CurrentCulture.DateTimeFormat.GetAbbreviatedDayName(day);
                dayName = dayName.Remove(0, 2).Substring(0, 1);
            }
            else
            {
                dayName = CultureHelper.CurrentCulture.DateTimeFormat.GetAbbreviatedDayName(day);
            }

            //Workaround for cultures lacking appropriate
            //short name for weekday names
            if (FALocalizeManager.Instance.CustomCulture != null && dayName.Length > 3)
            {
                //Remove the definition artilce from the work
                //which is Al in arabic. then return the next
                //charachter which is the first charachter of the day's name.
                dayName = dayName.Substring(0, 3);
            }

            return(dayName);
        }
コード例 #9
0
        /// <summary>
        /// Gets DayName based on the culture.
        /// </summary>
        /// <param name="dayValue"></param>
        /// <returns></returns>
        private static string GetDayName(int dayValue)
        {
            string dayName;
            var    dow = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), dayValue.ToString(CultureInfo.InvariantCulture));

            if (CultureHelper.IsFarsiCulture)
            {
                dayName = PersianDateTimeFormatInfo.GetWeekDayAbbrByIndex(dayValue);
            }
            else if (CultureHelper.IsArabicCulture)
            {
                dayName = CultureHelper.CurrentCulture.DateTimeFormat.GetAbbreviatedDayName(dow);
                dayName = dayName.Remove(0, 2).Substring(0, 1);
            }
            else
            {
                dayName = CultureHelper.CurrentCulture.DateTimeFormat.GetAbbreviatedDayName(dow).Substring(0, 1);
            }

            return(dayName);
        }
コード例 #10
0
        public void Can_Get_Weekday_Name()
        {
            PersianDate pd = new PersianDate(1387, 7, 7); //Yekshanbeh

            Assert.AreEqual(PersianDateTimeFormatInfo.GetWeekDay(DayOfWeek.Sunday), pd.LocalizedWeekDayName);
        }