コード例 #1
0
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);
	}
}
コード例 #2
0
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);
	}
}
コード例 #3
0
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);
	}
}
コード例 #4
0
ファイル: dummy.cpp プロジェクト: ShiroNek0/taiga
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");
}
コード例 #5
0
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);
		}
	}
}