void CBCGPRecurrenceRuleMonthly::CorrectStart () { COleDateTime dt (GetDateStart ()); int m = dt.GetMonth (); int y = dt.GetYear (); int d = GetPossibleDay (m, y); if (d < dt.GetDay ()) { m++; if (m == 13) { m = 1; y++; } d = GetPossibleDay (m, y); } int nDays = CBCGPCalendar::GetMaxMonthDay (m, y); dt = COleDateTime (y, m, nDays < d ? nDays : d, 0, 0, 0); if (dt != GetDateStart ()) { SetDateStart (dt); } }
void CBCGPRecurrenceRuleWeekly::CorrectStart () { COleDateTime dt (GetDateStart ()); int nWD = dt.GetDayOfWeek () - 1; int nWDS = TypeToDayOfWeek (GetStartDay ()) - 1; if (nWD == 0) { nWD = 7; } if (nWDS == 0) { nWDS = 7; } if (nWD != nWDS) { int delta = nWDS - nWD; if (delta < 0) { delta += 7; } dt += COleDateTimeSpan (delta, 0, 0, 0); } if (dt != GetDateStart ()) { SetDateStart (dt); } }
void CBCGPRecurrenceRuleYearly::CorrectStart () { COleDateTime dt (GetDateStart ()); int y = dt.GetYear (); int m = m_Type == BCGP_REC_RULE_YEARLY_TYPE_DAY ? m_dwDayMonth : m_dwDayTypeMonth; int d = GetPossibleDay (y); int nDays = CBCGPCalendar::GetMaxMonthDay (m, y); dt = COleDateTime (y, m, nDays < d ? nDays : d, 0, 0, 0); if (dt < GetDateStart ()) { y++; d = GetPossibleDay (y); nDays = CBCGPCalendar::GetMaxMonthDay (m, y); dt = COleDateTime (y, m, nDays < d ? nDays : d, 0, 0, 0); } if (dt != GetDateStart ()) { SetDateStart (dt); } }
void DummyAnime::Initialize() { SetSource(sync::kMyAnimeList); SetId(L"4224", sync::kTaiga); SetId(L"4224", sync::kMyAnimeList); SetId(L"3532", sync::kHummingbird); SetSlug(L"toradora"); SetTitle(L"Toradora!"); SetSynonyms(L"Tiger X Dragon"); SetType(anime::kTv); SetEpisodeCount(25); SetEpisodeLength(24); SetAiringStatus(anime::kFinishedAiring); SetDateStart(Date(2008, 10, 01)); SetDateEnd(Date(2009, 03, 25)); SetImageUrl(L"http://cdn.myanimelist.net/images/anime/5/22125.jpg"); AddtoUserList(); SetMyLastWatchedEpisode(25); SetMyScore(10); SetMyStatus(anime::kCompleted); SetMyTags(L"comedy, romance, drama"); }
void CBCGPRecurrenceRuleDaily::CorrectStart () { if (m_Type == BCGP_REC_RULE_DAILY_TYPE_WEEKDAYS) { COleDateTime dt (GetDateStart ()); int nWD = dt.GetDayOfWeek (); if (nWD == 1) { dt += COleDateTimeSpan (1, 0, 0, 0); } else if (nWD == 7) { dt += COleDateTimeSpan (2, 0, 0, 0); } if (dt != GetDateStart ()) { SetDateStart (dt); } } }