1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
   | //******************************************************************************
//
// Adds data to Database
//
//******************************************************************************
BOOL CFBHorariesView::AddtoDB()
{
	//float Entree,Sortie,Pause;
 
	UpdateData(TRUE);					//mise à jour des variables à partir des controles associes
 
	m_pSet->MoveLast();
 
	int linenumber	= 1;				// 1 ligne dans le controle "CEdit"...
 
	int len			= m_EntreeCTRL.LineLength(linenumber);
	char *txtEntree	= new char [len + 1];
	memset(txtEntree, '\0', len+1);
	m_EntreeCTRL.GetLine(linenumber,txtEntree,len);
 
	len					= m_SortieCTRL.LineLength(linenumber);
	char *txtSortie		= new char [len + 1];
	memset(txtSortie, '\0', len+1);
	m_SortieCTRL.GetLine(linenumber,txtSortie,len);
 
	len			= m_PauseCTRL.LineLength(linenumber);
	char *txtPause		= new char [len + 1];
	memset(txtPause, '\0', len+1);
	m_PauseCTRL.GetLine(linenumber,txtPause,len);
 
	/*UINT l1 = m_EntreeCTRL.GetLimitText();
	UINT l2 = m_SortieCTRL.GetLimitText();
	UINT l3 = m_PauseCTRL.GetLimitText();*/
 
	if(EOF == sscanf(txtEntree, "%f", &Entree))
	{
		//error
		AfxMessageBox("Vérifier la syntaxe...");
		return FALSE;
	}
 
	if(EOF == sscanf(txtSortie, "%f", &Sortie))
	{
		//error
		AfxMessageBox("Vérifier la syntaxe...");
		return FALSE;
	}
 
	if(EOF == sscanf(txtPause, "%f", &Pause))
	{
		//error
		AfxMessageBox("Vérifier la syntaxe...");
		return FALSE;
	}
 
	if(Sortie<=Entree || Entree<=0 || Sortie<=0 || Pause<0 || Entree>=24 || Sortie>=24 || Pause>=24 || Pause>=(Sortie-Entree))
	{
		AfxMessageBox("Impossible... Vérifiez les heures entrées");
		return FALSE;
	}
 
	m_TotalDay = Sortie-Entree-Pause;	//calcul du total de la journee
 
	//==============================================
	//affichage des calculs
	//==============================================
	//UpdateData(FALSE);	//mise à jour des controle depuis les variables
 
	//==============================================
	//ajout des données dans la bdd
	//==============================================
	if( !m_pSet->IsOpen( ) )				//Est-il ouvert?
		return FALSE;
 
	if( !m_pSet->CanAppend() )				//Puis-je ajouter? 
		return FALSE;
 
	m_pSet->AddNew();						//Bon, je prépare le tampon d'édition
 
	//==============================================
	//on insere les données dans la table
	m_pSet->m_Entree= txtEntree;
	m_pSet->m_Sortie= txtSortie;
	m_pSet->m_Pause	= txtPause;
	//conversion de la valeur float en CString
	CString s;
	s.Format(_T("%f"), m_TotalDay);
	m_pSet->m_TDay	= s;
	s.Format(_T("%f"), m_TotalDay-7);
	m_pSet->m_HSup	= s;
 
	//ajout du nom de l'employe dans le jeu de lignes
	int CurrentEmployee	= m_ChoosenEmployee.GetCurSel();
	//CString CurrentEmpCSTR;
	m_ChoosenEmployee.GetLBText(CurrentEmployee,CurrentEmpCSTR);
	m_pSet->m_Nom	= CurrentEmpCSTR;
 
	//ajout de la zone dans le jeu de lignes
	int CurrentZone	= m_Zone.GetCurSel();
	CString CurrentZoneCSTR;
	m_Zone.GetLBText(CurrentZone,CurrentZoneCSTR);
	m_pSet->m_Zone	= CurrentZoneCSTR;
 
	//ajout de la date dans le jeu de lignes
	CTime timeTime;
	DWORD dwResult = m_DateCTRL.GetTime(timeTime);
 
	strDate= timeTime.Format("%d/%m/%Y");	// jour /mois / année 
	m_pSet->m_Date	= strDate;
	//==============================================
 
	if( !m_pSet->Update( ) )				// je n'oublie de mettre à jour. C'est la validation
	{
		AfxMessageBox( "Impossible de mettre à jour..." );
		return FALSE;
	}/*else
	{
		AfxMessageBox( "Opération effectuée" );
		return;
	}*/
	delete[] txtEntree,txtSortie,txtPause;	//float = atof(string)
 
	//==============================================
	//affichage des calculs
	//==============================================
	UpdateData(FALSE);	//mise à jour des controle depuis les variables
	return TRUE;
} | 
Partager