private void SetCurrentView()
        {
            // Set current view in button label
            if (viewButton != null)
            {
                viewButton.Label = Translation.View + ": " + GetCalendarTypeName(CurrentCalendar);
            }

            GUICommon.SetProperty("#Trakt.Calendar.Type", CurrentCalendar.ToString());
            switch (CurrentCalendar)
            {
            case CalendarType.UserMovies:
                GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarMyMovies);
                break;

            case CalendarType.UserDVDs:
                GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarMyDVDs);
                break;

            case CalendarType.AllMovies:
                GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarAllMovies);
                break;

            case CalendarType.AllDVDs:
                GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarAllDVDs);
                break;
            }
        }
Exemplo n.º 2
0
        public static DateTime DateAdd(DateInterval Interval, double Number, DateTime DateValue)
        {
            int years = (int)Math.Round(Conversion.Fix(Number));

            switch (Interval)
            {
            case DateInterval.Year:
                return(CurrentCalendar.AddYears(DateValue, years));

            case DateInterval.Quarter:
                return(DateValue.AddMonths(years * 3));

            case DateInterval.Month:
                return(CurrentCalendar.AddMonths(DateValue, years));

            case DateInterval.DayOfYear:
            case DateInterval.Day:
            case DateInterval.Weekday:
                return(DateValue.AddDays((double)years));

            case DateInterval.WeekOfYear:
                return(DateValue.AddDays(years * 7.0));

            case DateInterval.Hour:
                return(DateValue.AddHours((double)years));

            case DateInterval.Minute:
                return(DateValue.AddMinutes((double)years));

            case DateInterval.Second:
                return(DateValue.AddSeconds((double)years));
            }
            throw new ArgumentException(Utils.GetResourceString("Argument_InvalidValue1", new string[] { "Interval" }));
        }
Exemplo n.º 3
0
        protected virtual DateParts ExtractDateParts(Match m)
        {
            int year  = 0,
                month = 0,
                day   = 0;

            if (m.Groups["year"].Success)
            {
                year = CurrentCalendar.ToFourDigitYear(Int32.Parse(m.Groups["year"].Value));
            }

            // For the month we can either use the month number, the abbreviated month name or the full month name.
            if (m.Groups["month"].Success)
            {
                month = Int32.Parse(m.Groups["month"].Value);
            }
            else if (m.Groups["monthNameShort"].Success)
            {
                var shortName             = m.Groups["monthNameShort"].Value.ToLowerInvariant();
                var allShortNamesGenitive = _dateTimeFormatProvider.MonthNamesShortGenitive.Select(x => x.ToLowerInvariant()).ToList();
                var allShortNames         = _dateTimeFormatProvider.MonthNamesShort.Select(x => x.ToLowerInvariant()).ToList();
                if (allShortNamesGenitive.Contains(shortName))
                {
                    month = allShortNamesGenitive.IndexOf(shortName) + 1;
                }
                else if (allShortNames.Contains(shortName))
                {
                    month = allShortNames.IndexOf(shortName) + 1;
                }
            }
            else if (m.Groups["monthName"].Success)
            {
                var name             = m.Groups["monthName"].Value.ToLowerInvariant();
                var allNamesGenitive = _dateTimeFormatProvider.MonthNamesGenitive.Select(x => x.ToLowerInvariant()).ToList();
                var allNames         = _dateTimeFormatProvider.MonthNames.Select(x => x.ToLowerInvariant()).ToList();
                if (allNamesGenitive.Contains(name))
                {
                    month = allNamesGenitive.IndexOf(name) + 1;
                }
                else if (allNames.Contains(name))
                {
                    month = allNames.IndexOf(name) + 1;
                }
            }

            if (m.Groups["day"].Success)
            {
                day = Int32.Parse(m.Groups["day"].Value);
            }

            return(new DateParts(year, month, day));
        }
Exemplo n.º 4
0
        public static int Weekday(DateTime DateValue, FirstDayOfWeek DayOfWeek = 1)
        {
            if (DayOfWeek == FirstDayOfWeek.System)
            {
                DayOfWeek = (FirstDayOfWeek)(DateTimeFormatInfo.CurrentInfo.FirstDayOfWeek + 1);
            }
            else if ((DayOfWeek < FirstDayOfWeek.Sunday) || (DayOfWeek > FirstDayOfWeek.Saturday))
            {
                throw new ArgumentException(Utils.GetResourceString("Argument_InvalidValue1", new string[] { "DayOfWeek" }));
            }
            int num = ((int)CurrentCalendar.GetDayOfWeek(DateValue)) + 1;

            return((((num - DayOfWeek) + 7) % 7) + 1);
        }
Exemplo n.º 5
0
        private void SetCurrentView()
        {
            // Set current view in button label
            if (viewButton != null)
            {
                viewButton.Label = Translation.View + ": " + GetCalendarTypeName(CurrentCalendar);
            }

            GUICommon.SetProperty("#Trakt.Calendar.Type", CurrentCalendar.ToString());
            switch (CurrentCalendar)
            {
            case CalendarType.UserShows:
                GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarMyShows);
                break;

            case CalendarType.UserNewShows:
                GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarMyNewShows);
                break;

            case CalendarType.UserSeasonPremieres:
                GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarMySeasonPremieres);
                break;

            case CalendarType.AllShows:
                GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarAllShows);
                break;

            case CalendarType.AllNewShows:
                GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarAllNewShows);
                break;

            case CalendarType.AllSeasonPremieres:
                GUICommon.SetProperty("#Trakt.CurrentView", Translation.CalendarAllSeasonPremieres);
                break;
            }
        }
Exemplo n.º 6
0
 /// <summary>
 /// Returns week number for the given date
 /// </summary>
 public static int GetWeekOfYear(this DateTime date)
 =>
 CurrentCalendar.GetWeekOfYear(date, CurrentCalendarWeekRule, CurrentDayOfWeek);
Exemplo n.º 7
0
 public static int Year(DateTime DateValue)
 {
     return(CurrentCalendar.GetYear(DateValue));
 }
Exemplo n.º 8
0
 public static int Second(DateTime TimeValue)
 {
     return(CurrentCalendar.GetSecond(TimeValue));
 }
Exemplo n.º 9
0
 public static int Month(DateTime DateValue)
 {
     return(CurrentCalendar.GetMonth(DateValue));
 }
Exemplo n.º 10
0
 public static int Minute(DateTime TimeValue)
 {
     return(CurrentCalendar.GetMinute(TimeValue));
 }
Exemplo n.º 11
0
 public static int Hour(DateTime TimeValue)
 {
     return(CurrentCalendar.GetHour(TimeValue));
 }
Exemplo n.º 12
0
        public static int DatePart(DateInterval Interval,
                                   DateTime DateValue,
                                   [Optional, DefaultParameterValue(FirstDayOfWeek.Sunday)]
                                   FirstDayOfWeek FirstDayOfWeekValue,
                                   [Optional, DefaultParameterValue(FirstWeekOfYear.Jan1)]
                                   FirstWeekOfYear FirstWeekOfYearValue)
        {
            DayOfWeek        firstDayOfWeek;
            CalendarWeekRule calendarWeekRule = 0;

            switch (Interval)
            {
            case DateInterval.Year:
                return(CurrentCalendar.GetYear(DateValue));

            case DateInterval.Quarter:
                return(((DateValue.Month - 1) / 3) + 1);

            case DateInterval.Month:
                return(CurrentCalendar.GetMonth(DateValue));

            case DateInterval.DayOfYear:
                return(CurrentCalendar.GetDayOfYear(DateValue));

            case DateInterval.Day:
                return(CurrentCalendar.GetDayOfMonth(DateValue));

            case DateInterval.WeekOfYear:
                if (FirstDayOfWeekValue != FirstDayOfWeek.System)
                {
                    firstDayOfWeek = (DayOfWeek)(FirstDayOfWeekValue - 1);
                    break;
                }
                firstDayOfWeek = Utils.GetCultureInfo().DateTimeFormat.FirstDayOfWeek;
                break;

            case DateInterval.Weekday:
                return(Weekday(DateValue, FirstDayOfWeekValue));

            case DateInterval.Hour:
                return(CurrentCalendar.GetHour(DateValue));

            case DateInterval.Minute:
                return(CurrentCalendar.GetMinute(DateValue));

            case DateInterval.Second:
                return(CurrentCalendar.GetSecond(DateValue));

            default:
                throw new ArgumentException(Utils.GetResourceString("Argument_InvalidValue1", new string[] { "Interval" }));
            }
            switch (FirstWeekOfYearValue)
            {
            case FirstWeekOfYear.System:
                calendarWeekRule = Utils.GetCultureInfo().DateTimeFormat.CalendarWeekRule;
                break;

            case FirstWeekOfYear.Jan1:
                calendarWeekRule = CalendarWeekRule.FirstDay;
                break;

            case FirstWeekOfYear.FirstFourDays:
                calendarWeekRule = CalendarWeekRule.FirstFourDayWeek;
                break;

            case FirstWeekOfYear.FirstFullWeek:
                calendarWeekRule = CalendarWeekRule.FirstFullWeek;
                break;
            }
            return(CurrentCalendar.GetWeekOfYear(DateValue, calendarWeekRule, firstDayOfWeek));
        }