void FenetreUnitaire::enregistrerTacheUnitaire() { Duree du(dureeUnitaire->time().hour(), dureeUnitaire->time().minute()); ProjetManager& pm = ProjetManager::getInstance(); Projet* projet = pm.trouverProjet(idProjet->currentText()); if(projet->trouverTache(idUnitaire->text())) { QMessageBox::warning(this, "erreur","sauvegarde impossible, tache deja existante"); dispoUnitaire->setDateTime(QDateTime::currentDateTime()); echeanceUnitaire->setDateTime(QDateTime::currentDateTime()); } else if(projet->getEcheance()<echeanceUnitaire->dateTime()) { QMessageBox::warning(this, "erreur","sauvegarde impossible, date d'échéance de la tache postérieure à la date d'échéance du projet"); echeanceUnitaire->setDateTime(QDateTime::currentDateTime()); } else if(projet->getDispo()>dispoUnitaire->dateTime()) { QMessageBox::warning(this, "erreur","sauvegarde impossible, date de dispo de la tache antérieure a la date de dispo du projet"); dispoUnitaire->setDateTime(QDateTime::currentDateTime()); } else if(preemptive->isChecked()) { if(idComposite->currentText()!="") { if(projet->getTache(idComposite->currentText()).getEcheance()<echeanceUnitaire->dateTime()) { QMessageBox::warning(this, "erreur", "date echeance de la composite inferieure a l'echeance de la tache que vous ajoutez"); } else if(projet->getTache(idComposite->currentText()).getDate()>dispoUnitaire->dateTime()) { QMessageBox::warning(this, "erreur", "date dispo de la composite superieure a la dispo que la date que vous ajoutez"); } else { projet->ajouterTacheUnitaire(idUnitaire->text(),titreUnitaire->text(),dispoUnitaire->dateTime(), echeanceUnitaire->dateTime(), du); projet->getTache(idComposite->currentText()).ajouterSousTache(projet->trouverTache(idUnitaire->text())); QMessageBox::about(this, "ajout", "Tache preemptive dans composite ajoutée"); this->close(); } }else{ pm.trouverProjet(idProjet->currentText())->ajouterTachePreemptable(idUnitaire->text(),titreUnitaire->text(),dispoUnitaire->dateTime(), echeanceUnitaire->dateTime(), du); QMessageBox::about(this, "ajout", "Tache préemptive ajoutée"); this->close(); } }else{ if(idComposite->currentText()!="") { projet->ajouterTacheUnitaire(idUnitaire->text(),titreUnitaire->text(),dispoUnitaire->dateTime(), echeanceUnitaire->dateTime(), du); projet->getTache(idComposite->currentText()).ajouterSousTache(projet->trouverTache(idUnitaire->text())); QMessageBox::about(this, "ajout", "Tache unitaire dans composite ajoutée"); this->close(); } else { projet->ajouterTacheUnitaire(idUnitaire->text(),titreUnitaire->text(),dispoUnitaire->dateTime(), echeanceUnitaire->dateTime(), du); QMessageBox::about(this, "ajout", "Tache unitaire ajoutée"); this->close(); } } }
void AjoutPrecedence::EnregistrerPred(){ //attribut modele à la classe ajoutPrecedence QMap<QString, Tache*> pred; for(int nb=0; nb<modele.rowCount(); nb++){ QList<QString>* liste = new QList<QString>; testChecked(modele.item(nb), liste); for(QList<QString>::const_iterator i = liste->cbegin(); i< liste->cend(); i++){ Projet* p =ProjetManager::getInstance().trouverProjet(modele.item(nb)->text()); Tache* t= p->trouverTache(*i); pred.insert(t->getId(), t); } } EditeurTache::predecesseurs=pred; close(); }