int CCalendar::getNbSecond(const CDate & date) const { // Retourne le nombre de secondes écoulées depuis le début de l'année. CDate _d0(date); int nbday = 0; for(_d0.setMonth(1); _d0.getMonth() < date.getMonth(); _d0.setMonth(_d0.getMonth()+1)) nbday += getMonthLength(_d0); return ((((nbday + date.getDay()) * getDayLength() + date.getHour()) * getHourLength() + date.getMinute()) * getMinuteLength() + date.getSecond()); }
void CTeamPlayerDetailsWindowHandler::enter() { IDAOFactory *daoFactory = m_game.getIDAOFactory(); m_selectedTeamPlayer = m_game.getSelectedTeamPlayer(); m_photo ->setProperty("Image", "set:"+ m_selectedTeamPlayer->getSPhoto() +" image:"+m_selectedTeamPlayer->getSPhoto()+"_b"); m_name ->setText((CEGUI::utf8*)m_selectedTeamPlayer->getSName().c_str()); m_shortName->setText((CEGUI::utf8*)m_selectedTeamPlayer->getSShortName().c_str()); m_weight ->setText((CEGUI::utf8*)m_selectedTeamPlayer->getNWeight_str().c_str()); m_height ->setText((CEGUI::utf8*)m_selectedTeamPlayer->getNHeight_str().c_str()); CDate birthday = m_selectedTeamPlayer->getDBirthday(); CDate today = CGameEngine::getInstance()->getTimeManager()->getCurrentTime(); int years = today.getYear() - birthday.getYear(); if((today.getMonth() < birthday.getMonth()) || (today.getMonth() == birthday.getMonth() && today.getDay() < birthday.getDay())) { years = years - 1; } std::ostringstream yearsAux; yearsAux << years; m_birthday ->setText(birthday.format("%d/%m/%Y")); m_years ->setText((CEGUI::utf8*)yearsAux.str().c_str()); CPfCountries *country = daoFactory->getIPfCountriesDAO()->findByXCountry(m_selectedTeamPlayer->getXFkCountry()); m_country ->setText((CEGUI::utf8*)gettext(country->getSShortName().c_str())); m_country_flag->setProperty("Image", "set:"+ country->getSFlag() +" image:"+country->getSFlag()+"_flag"); delete country; std::string currentTimestamp = m_game.getCurrentTime().getTimestamp(); CPfTeamPlayerContracts *contract = daoFactory->getIPfTeamPlayerContractsDAO()->findActiveByXFkTeamPlayer(m_selectedTeamPlayer->getXTeamPlayer_str(), currentTimestamp); CPfTeams *team = daoFactory->getIPfTeamsDAO()->findByXTeam(contract->getXFkTeam_str()); m_teamName ->setText((CEGUI::utf8*)team->getSTeam().c_str()); m_dateBegin ->setText(contract->getDBegin().format("%d/%m/%Y")); m_dateEnd ->setText(contract->getDEnd().format("%d/%m/%Y")); m_salary ->setText((CEGUI::utf8*)contract->getNSalary_str().c_str()); m_releaseClause->setText((CEGUI::utf8*)contract->getNReleaseClause_str().c_str()); delete team; delete contract; }
int CCalendar::getMonthLength(const CDate & date) const { // Retourne la durée du mois en jour. static const int NoLeapMonthLength[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; return (NoLeapMonthLength[date.getMonth()-1]); }