Beispiel #1
0
        private LigneTable CreerEvaluation()
        {
            LigneTable evaluation = new LigneTable("EvaluationDepannageAlimentaire");

            evaluation.AjouterChamp("edaNbPersonnes", (int)nudNbPersonnes.Value);

            evaluation.AjouterChamp("edaAideSociale", nudAideSociale.Value);
            evaluation.AjouterChamp("edaAssuranceAuto", nudAssuranceAuto.Value);
            evaluation.AjouterChamp("edaAssuranceLogement", nudAssuranceLogement.Value);
            evaluation.AjouterChamp("edaAssuranceVie", nudAssuranceVie.Value);
            evaluation.AjouterChamp("edaAutresDepenses1", nudAutresDepenses1.Value);
            evaluation.AjouterChamp("edaAutresDepenses2", nudAutresDepenses2.Value);
            evaluation.AjouterChamp("edaAutresDepenses3", nudAutresDepenses3.Value);
            evaluation.AjouterChamp("edaAutresRevenus1", nudAutresRevenus1.Value);
            evaluation.AjouterChamp("edaAutresRevenus2", nudAutresRevenus2.Value);
            evaluation.AjouterChamp("edaAutresRevenus3", nudAutresRevenus3.Value);
            evaluation.AjouterChamp("edaCableInternetTelephone", nudCableInternetTelephone.Value);
            evaluation.AjouterChamp("edaCellulaire", nudCellulaire.Value);
            evaluation.AjouterChamp("edaChauffage", nudChauffage.Value);
            evaluation.AjouterChamp("edaChomage", nudChomage.Value);
            evaluation.AjouterChamp("edaDepensesCourantes", nudDepensesCourantes.Value);
            evaluation.AjouterChamp("edaEssenceEntretien", nudEssenceEntretien.Value);
            evaluation.AjouterChamp("edaHydroQuebec", nudHydroQuebec.Value);
            evaluation.AjouterChamp("edaImmatriculationPermis", nudImmatriculationPermis.Value);
            evaluation.AjouterChamp("edaImpotSolidarite", nudImpotSolidarite.Value);
            evaluation.AjouterChamp("edaLoyerHypotheque", nudLoyerHypotheque.Value);
            evaluation.AjouterChamp("edaPensionAlimentaireDepense", nudPensionAlimentaireDepenses.Value);
            evaluation.AjouterChamp("edaPensionAlimentaireRevenu", nudPensionAlimentaireRevenus.Value);
            evaluation.AjouterChamp("edaPensionVieillesse", nudPensionVieillesse.Value);
            evaluation.AjouterChamp("edaPrestationsFamFed", nudPresFamFed.Value);
            evaluation.AjouterChamp("edaPrestationsFamProv", nudPresFamProv.Value);
            evaluation.AjouterChamp("edaRemboursementAuto", nudRemboursementAuto.Value);
            evaluation.AjouterChamp("edaRRQ", nudRRQ.Value);
            evaluation.AjouterChamp("edaTalonPaie", nudTalonPaie.Value);
            evaluation.AjouterChamp("edaTaxesScolairesMun", nudTaxesScolairesNum.Value);
            evaluation.AjouterChamp("edaTPS", nudTPS.Value);

            evaluation.AjouterChamp("edaNomAutreDepenses1", txtAutresDepenses1.Text);
            evaluation.AjouterChamp("edaNomAutresDepenses2", txtAutresDepenses2.Text);
            evaluation.AjouterChamp("edaNomAutresDepenses3", txtAutresDepenses3.Text);
            evaluation.AjouterChamp("edaNomAutresRevenus1", txtAutresRevenus1.Text);
            evaluation.AjouterChamp("edaNomAutresRevenus2", txtAutresRevenus2.Text);
            evaluation.AjouterChamp("edaNomAutresRevenus3", txtAutresRevenus3.Text);
            evaluation.AjouterChamp("edaCommentaires", txtCommentaires.Text);

            evaluation.AjouterChamp("edaDate", dtpDateNaissance.Value);
            evaluation.AjouterChamp("edaAccepte", rbAccepte.Checked);

            evaluation.AjouterChamp(BeneficiaireCourant.GetChamp("idaId"));

            return(evaluation);
        }
Beispiel #2
0
        private void btnMonter_Click(object sender, EventArgs e)
        {
            TreeNode noeudSelectionne = tvRoutesBeneficiaires.SelectedNode;
            TreeNode noeudParent      = noeudSelectionne != null ? noeudSelectionne.Parent : null;
            TreeNode noeudPrecedent   = noeudParent != null ? noeudParent.Nodes[noeudSelectionne.Index - 1] : null;

            LigneTable beneficiaire1 = noeudSelectionne != null && noeudSelectionne.Tag is LigneTable ? (LigneTable)noeudSelectionne.Tag : null;
            LigneTable beneficiaire2 = noeudPrecedent != null && noeudPrecedent.Tag is LigneTable ? (LigneTable)noeudPrecedent.Tag : null;

            if (noeudSelectionne == null || noeudParent == null || noeudPrecedent == null || beneficiaire1 == null || beneficiaire2 == null)
            {
                Journal.AfficherMessage("Une erreur est survenue lors du changement d'ordre des bénéficiaires. L'action a été annulée.", TypeMessage.ERREUR, true);
                return;
            }

            Global.BaseDonneesCABS.CommencerTransaction();

            ConditionRequete    cond1     = new ConditionRequete(Operateur.EGAL, beneficiaire1.GetChamp("perId"));
            ConditionRequete    cond2     = new ConditionRequete(Operateur.EGAL, beneficiaire2.GetChamp("perId"));
            RequeteModification reqModif1 = new RequeteModification(NomTable.beneficiaireroutepopoteroulante, cond1, beneficiaire2.GetChamp("brprOrdre"));
            RequeteModification reqModif2 = new RequeteModification(NomTable.beneficiaireroutepopoteroulante, cond2, beneficiaire1.GetChamp("brprOrdre"));

            if (Global.BaseDonneesCABS.EnvoyerRequeteModification(reqModif1) < 0)
            {
                Journal.AfficherMessage("Une erreur est survenue lors du changement d'ordre des bénéficiaires. L'action a été annulée.", TypeMessage.ERREUR, true);

                Global.BaseDonneesCABS.AnnulerTransaction();
                return;
            }

            if (Global.BaseDonneesCABS.EnvoyerRequeteModification(reqModif2) < 0)
            {
                Journal.AfficherMessage("Une erreur est survenue lors du changement d'ordre des bénéficiaires. L'action a été annulée.", TypeMessage.ERREUR, true);

                Global.BaseDonneesCABS.AnnulerTransaction();
                return;
            }

            Global.BaseDonneesCABS.ConfirmerTransaction();

            int temp = beneficiaire1.GetValeurChamp <int>("brprOrdre");

            beneficiaire1.GetChamp("brprOrdre").Valeur = beneficiaire2.GetValeurChamp <int>("brprOrdre");
            beneficiaire2.GetChamp("brprOrdre").Valeur = temp;

            noeudParent.Nodes.Remove(noeudSelectionne);
            noeudParent.Nodes.Insert(noeudPrecedent.Index, noeudSelectionne);

            tvRoutesBeneficiaires.SelectedNode = noeudSelectionne;
        }
Beispiel #3
0
        private void gtBeneficiaires_RowDoubleClick(object sender, Outils.RowDoubleClickEventArgs e)
        {
            Champ      indexBeneficiaire = e.LigneCliquee.GetChamp("perId");
            LigneTable action            = ((LigneTable)((ComboBoxItem)cmbAction.SelectedItem).Value);
            string     infosBeneficiaire = String.Format(FORMAT_BENEFICIAIRES_INCLUS, e.LigneCliquee.GetValeurChamp <string>("perNom"), e.LigneCliquee.GetValeurChamp <string>("perPrenom"));

            RequeteSelection reqSel = new RequeteSelection(NomTable.beneficiaireactionactivite);

            reqSel.Condition = new ConditionRequete(Operateur.EGAL, indexBeneficiaire);
            reqSel.Condition.LierCondition(new ConditionRequete(Operateur.EGAL, action.GetChamp("actaId")), true);

            if (!Global.BaseDonneesCABS.EnvoyerRequeteSelection(reqSel).EstVide)
            {
                Journal.AfficherMessage("Ce bénéficiaire fait déjà partie de cette action.", TypeMessage.INFORMATION, false);
                return;
            }

            RequeteAjout reqAjout = new RequeteAjout(NomTable.beneficiaireactionactivite, indexBeneficiaire, action.GetChamp("actaId"));

            if (Global.BaseDonneesCABS.EnvoyerRequeteAjout(reqAjout) < 0)
            {
                Journal.AfficherMessage("Une erreur est survenue lors de l'ajout du bénéficiaire à l'action. L'action a été annulée.", TypeMessage.ERREUR, true);
                return;
            }

            AjouterItem(lbBeneficiairesInclus, new ComboBoxItem(infosBeneficiaire, indexBeneficiaire));
        }
Beispiel #4
0
        public override bool Enregistrer()
        {
            if (!base.Enregistrer())
            {
                return(false);
            }

            PersonneCourante.AjouterChamp("perDateDerniereMaj", DateTime.Now);

            Champ indexPersonne = PersonneCourante.GetChamp("perId");

            LigneTable personne = new LigneTable("Personne");

            personne.AjouterChamp("perDateDerniereMaj", PersonneCourante.GetValeurChamp <DateTime>("perDateDerniereMaj"));
            personne.AjouterChamp("perDateOuverture", PersonneCourante.GetValeurChamp <DateTime>("perDateOuverture"));
            personne.AjouterChamp("perDateFermeture", PersonneCourante.GetValeurChamp <DateTime>("perDateFermeture"));
            personne.AjouterChamp("perDateInactivite", PersonneCourante.GetValeurChamp <DateTime>("perDateInactivite"));
            personne.AjouterChamp("staId", PersonneCourante.GetValeurChamp <int>("staId"));

            RequeteModification reqModif = new RequeteModification(NomTable.personne, new ConditionRequete(Operateur.EGAL, indexPersonne), personne);

            if (Global.BaseDonneesCABS.EnvoyerRequeteModification(reqModif) <= 0)
            {
                return(false);
            }

            return(true);
        }
Beispiel #5
0
        private void gtEmployes_RowDoubleClick(object sender, RowDoubleClickEventArgs e)
        {
            Champ      indexEmploye = e.LigneCliquee.GetChamp("perId");
            Champ      nombreHeures = new Champ("employereunion", "erHeures", (int)nudNombreHeuresEmploye.Value);
            LigneTable reunion      = ((LigneTable)((ComboBoxItem)cmbReunion.SelectedItem).Value);
            string     infosEmploye = String.Format(FORMAT_PERSONNES_INCLUS, e.LigneCliquee.GetValeurChamp <string>("perNom"), e.LigneCliquee.GetValeurChamp <string>("perPrenom"), nombreHeures.Valeur);

            RequeteSelection reqSel = new RequeteSelection(NomTable.employereunion);

            reqSel.Condition = new ConditionRequete(Operateur.EGAL, indexEmploye);
            reqSel.Condition.LierCondition(new ConditionRequete(Operateur.EGAL, reunion.GetChamp("reuId")), true);

            if (!Global.BaseDonneesCABS.EnvoyerRequeteSelection(reqSel).EstVide)
            {
                Journal.AfficherMessage("Cet employé fait déjà partie de cette réunion. Retirez-le préalablement pour modifier son nombre d'heures.", TypeMessage.INFORMATION, false);
                return;
            }

            RequeteAjout reqAjout = new RequeteAjout(NomTable.employereunion, indexEmploye, reunion.GetChamp("reuId"), nombreHeures);

            if (Global.BaseDonneesCABS.EnvoyerRequeteAjout(reqAjout) < 0)
            {
                Journal.AfficherMessage("Une erreur est survenue lors de l'ajout de l'employé à la réunion. L'action a été annulée.", TypeMessage.ERREUR, true);
                return;
            }

            AjouterItem(lbEmployesInclus, new ComboBoxItem(infosEmploye, indexEmploye));
        }
Beispiel #6
0
        private void btnRetirer_Click(object sender, EventArgs e)
        {
            TreeNode noeudBeneficiaire = tvRoutesBeneficiaires.SelectedNode;
            TreeNode noeudRoute        = noeudBeneficiaire.Parent;

            if (noeudBeneficiaire == null || noeudRoute == null)
            {
                Journal.EcrireMessage("frmGestionRoutes : Bouton Retirer enabled sans devoir l'être");
                return;
            }

            LigneTable beneficiaire = noeudBeneficiaire.Tag is LigneTable ? (LigneTable)noeudBeneficiaire.Tag : new LigneTable("beneficiaire");

            ConditionRequete cond = new ConditionRequete(Operateur.EGAL, "perId", beneficiaire.GetChamp("perId").ValeurSQL);

            cond.LierCondition(new ConditionRequete(Operateur.EGAL, "rprId", noeudRoute.Tag.ToString()), true);

            RequeteSuppression reqSup = new RequeteSuppression(NomTable.beneficiaireroutepopoteroulante, cond);

            if (Global.BaseDonneesCABS.EnvoyerRequeteSuppression(reqSup) < 0)
            {
                Journal.AfficherMessage("Une erreur est survenue lors du retirement du bénéficiaire de la route. L'action a été annulée.", TypeMessage.ERREUR, true);
                return;
            }

            noeudRoute.Nodes.Remove(noeudBeneficiaire);
            tvRoutesBeneficiaires_AfterSelect(tvRoutesBeneficiaires, new TreeViewEventArgs(noeudRoute));

            lbBeneficiaires.Items.Add(new ComboBoxItem(noeudBeneficiaire.Text, beneficiaire));
        }
Beispiel #7
0
        private void ChargerLivraisons()
        {
            RequeteSelection reqSel = new RequeteSelection(NomTable.livraisonpopoteroulante);

            reqSel.Condition = new ConditionRequete(Operateur.EGAL, BeneficiaireCourant.GetChamp("perId"));
            reqSel.AjouterTri("lprDate");

            Livraisons = Global.BaseDonneesCABS.EnvoyerRequeteSelection(reqSel);

            mcCalendrier.BoldedDatesCollection.Clear();

            foreach (LigneTable liv in Livraisons.Lignes)
            {
                AjouterLivraisonCalendrier(liv.GetValeurChamp <DateTime>("lprDate"));
            }

            RafraichirInfosLivraison();
        }
Beispiel #8
0
        public void Generer(LigneTable donnees)
        {
            WordSDK.Application appWord = null;
            WordSDK.Document    doc     = null;

            try
            {
                appWord = new WordSDK.Application();
                appWord.DisplayAlerts = WordSDK.WdAlertLevel.wdAlertsNone;

                doc = appWord.Documents.Add(Directory.GetCurrentDirectory() + "\\" + NomFichier, Visible: false);
                doc.Activate();

                foreach (WordSDK.FormField field in doc.FormFields)
                {
                    Champ champ = donnees.GetChamp(field.Name);

                    if (champ != null)
                    {
                        switch (champ.Type)
                        {
                        case TypeChamp.BOOLEEN:
                            field.CheckBox.Value = (bool)champ.ValeurWord;
                            break;

                        default:
                            field.Range.Text = champ.ValeurWord.ToString();
                            break;
                        }
                    }
                }

                appWord.DisplayAlerts = WordSDK.WdAlertLevel.wdAlertsAll;
                appWord.Visible       = true;
            }
            catch (Exception ex)
            {
                Journal.AfficherException("Une erreur est survenue lors de la génération du fichier Word. L'action a été annulée.", ex);

                if (appWord != null && doc != null)
                {
                    doc.Close(false);
                    appWord.Quit();
                }
            }
            finally
            {
                if (doc != null)
                {
                    Marshal.ReleaseComObject(doc);
                }
                if (appWord != null)
                {
                    Marshal.ReleaseComObject(appWord);
                }
            }
        }
Beispiel #9
0
        private void btnInclure_Click(object sender, EventArgs e)
        {
            ComboBoxItem beneficiaire      = (lbBeneficiaires.SelectedItem as ComboBoxItem);
            LigneTable   ligneBeneficiaire = beneficiaire.Value is LigneTable ? (LigneTable)beneficiaire.Value : new LigneTable("beneficiaire");
            TreeNode     noeudRoute        = tvRoutesBeneficiaires.SelectedNode;

            LigneTable beneficiaireRoute = new LigneTable("beneficiaireroutepopoteroulante");

            beneficiaireRoute.AjouterChamp("perId", ligneBeneficiaire.GetValeurChamp <int>("perId"));
            beneficiaireRoute.AjouterChamp("rprId", noeudRoute.Tag);

            Table ordreMax = Global.BaseDonneesCABS.EnvoyerRequeteSelectionDirect("beneficiaireroutepopoteroulante", String.Format(FormatOrdreMaximum, noeudRoute.Tag));

            if (ordreMax.EstVide)
            {
                beneficiaireRoute.AjouterChamp("brprOrdre", 1);
            }
            else
            {
                beneficiaireRoute.AjouterChamp("brprOrdre", ordreMax.Lignes[0].GetValeurChamp <int>("brprOrdre") + 1);
            }


            RequeteAjout reqAjout = new RequeteAjout(NomTable.beneficiaireroutepopoteroulante, beneficiaireRoute);

            if (Global.BaseDonneesCABS.EnvoyerRequeteAjout(reqAjout) < 0)
            {
                Journal.AfficherMessage("Une erreur est survenue lors de l'inclusion du bénéficiaire à la route. L'action a été annulée.", TypeMessage.ERREUR, true);
                return;
            }

            ligneBeneficiaire.AjouterChamp(beneficiaireRoute.GetChamp("rprId"));
            ligneBeneficiaire.AjouterChamp(beneficiaireRoute.GetChamp("brprOrdre"));

            TreeNode nouveauNoeudBeneficiaire = new TreeNode(beneficiaire.Text);

            nouveauNoeudBeneficiaire.Tag = ligneBeneficiaire;
            noeudRoute.Nodes.Add(nouveauNoeudBeneficiaire);
            noeudRoute.Expand();

            lbBeneficiaires.Items.Remove(beneficiaire);
        }
Beispiel #10
0
        private void RafraichirService()
        {
            ConditionRequete condReqSel = new ConditionRequete(Operateur.EGAL, "perId", BeneficiaireCourant.GetChamp("perId").ValeurSQL);

            condReqSel.LierCondition(new ConditionRequete(Operateur.EGAL, "serId", (cmbService.SelectedItem as ComboBoxItem).Value.ToString()), true);

            RequeteSelection reqSel = new RequeteSelection(NomTable.inscriptionservice);

            reqSel.Condition = condReqSel;

            Table  inscription   = Global.BaseDonneesCABS.EnvoyerRequeteSelection(reqSel);
            string nomFormulaire = Global.GetNomFormulaireInscription(cmbService.Text);

            panFormulaireInscription.Controls.Clear();

            Type typeFormulaire = Type.GetType(nomFormulaire);

            try
            {
                FormulaireCourant = (Formulaire)Activator.CreateInstance(typeFormulaire);
            }
            catch (Exception)
            {
                FormulaireCourant = null;
                return;
            }

            if (!inscription.EstVide)
            {
                ChangerAccesControle(ModeFormulaire.CONSULTATION);

                LigneTable infosInscription = inscription.Lignes[0];

                dtpDateDemande.Value = infosInscription.GetValeurChamp <DateTime>("insDateDemande");
                cbSuspendu.Checked   = infosInscription.GetValeurChamp <bool>("insSuspendu");
                txtCommentaires.Text = infosInscription.GetValeurChamp <string>("insCommentaires");
            }
            else
            {
                ChangerAccesControle(ModeFormulaire.AJOUT);
                Vider();
                FormulaireCourant.Vider();
            }

            FormulaireCourant.Name       = nomFormulaire;
            FormulaireCourant.Dock       = DockStyle.Fill;
            FormulaireCourant.TopLevel   = false;
            FormulaireCourant.AutoScroll = true;
            FormulaireCourant.EnvoyerMessages(BeneficiaireCourant.GetValeurChamp <int>("perId"));

            panFormulaireInscription.Controls.Add(FormulaireCourant);
            FormulaireCourant.Show();
        }
Beispiel #11
0
        private void ChargerPersonnesARejoindre()
        {
            lblPrenomValeur.Text = PersonneCourante.GetValeurChamp <string>("perPrenom");
            lblNomValeur.Text    = PersonneCourante.GetValeurChamp <string>("perNom");

            dgvPersonnesARejoindre.Rows.Clear();
            PersonnesARejoindreASupprimer.Clear();

            btnEnregistrer.Enabled = btnAnnuler.Enabled = false;

            RequeteSelection reqSel = new RequeteSelection(NomTable.arejoindre);

            reqSel.Condition = new ConditionRequete(Operateur.EGAL, "perId", PersonneCourante.GetChamp("perId").ValeurSQL);

            Table personnesARejoindre = Global.BaseDonneesCABS.EnvoyerRequeteSelection(reqSel);

            foreach (LigneTable persARej in personnesARejoindre.Lignes)
            {
                AjouterPersonnesARejoindre(persARej);
            }
        }
        private void RafraichirService()
        {
            ConditionRequete condReqSel = new ConditionRequete(Operateur.EGAL, "perId", BenevoleCourant.GetChamp("perId").ValeurSQL);

            condReqSel.LierCondition(new ConditionRequete(Operateur.EGAL, "serId", (cmbService.SelectedItem as ComboBoxItem).Value.ToString()), true);

            RequeteSelection reqSel = new RequeteSelection(NomTable.disponibiliteservice);

            reqSel.Condition = condReqSel;

            Table disponibilite = Global.BaseDonneesCABS.EnvoyerRequeteSelection(reqSel);

            if (!disponibilite.EstVide)
            {
                ChangerAccesControle(ModeFormulaire.CONSULTATION);
            }
            else
            {
                ChangerAccesControle(ModeFormulaire.AJOUT);
            }
        }
Beispiel #13
0
        public override bool Supprimer()
        {
            if (!base.Supprimer())
            {
                return(false);
            }

            if (!OutilsForms.PoserQuestion("Confirmation suppression", "Confirmez-vous vouloir supprimer cet personne de la base de données?"))
            {
                return(false);
            }

            RequeteSuppression reqSup = new RequeteSuppression(NomTable.personne, new ConditionRequete(Operateur.EGAL, PersonneCourante.GetChamp("perId")));

            if (Global.BaseDonneesCABS.EnvoyerRequeteSuppression(reqSup) < 0)
            {
                Journal.AfficherMessage("Une erreur est survenue lors de la suppression de la personne dans la base de données. L'action a été annulée.", TypeMessage.ERREUR, true);
                return(false);
            }

            PersonneCourante = null;
            return(true);
        }
Beispiel #14
0
        public override bool Supprimer()
        {
            if (!base.Supprimer())
            {
                return(false);
            }

            if (!OutilsForms.PoserQuestion("Confirmation suppression", "Voulez-vous vraiment supprimer cette action?"))
            {
                return(false);
            }

            LigneTable action = ((LigneTable)((ComboBoxItem)cmbAction.SelectedItem).Value);

            RequeteSuppression reqSup = new RequeteSuppression(NomTable.actionactivite, new ConditionRequete(Operateur.EGAL, action.GetChamp("actaId")));

            if (Global.BaseDonneesCABS.EnvoyerRequeteSuppression(reqSup) < 0)
            {
                Journal.AfficherMessage("Une erreur est survenue lors de la suppression de l'action. L'action a été annulée.", TypeMessage.ERREUR, true);
                return(false);
            }

            cmbAction.Items.Remove(cmbAction.SelectedItem);

            if (cmbAction.Items.Count > 0)
            {
                cmbAction.SelectedIndex = 0;
            }

            return(true);
        }
Beispiel #15
0
        private void btnEnregistrer_Click(object sender, EventArgs e)
        {
            int  temp;
            bool erreur = false;

            for (int i = 0; i < dgvPersonnesARejoindre.Rows.Count - 1; ++i)
            {
                DataGridViewRow ligne = dgvPersonnesARejoindre.Rows[i];
                ligne.ErrorText = "";

                if (!(ligne.Tag is ModeFormulaire))
                {
                    continue;
                }

                if (!ValiderLigne(ligne))
                {
                    erreur = true;
                    continue;
                }

                LigneTable personneARejoindre = CreerNouvellePersonneARejoindre(ligne.Index);

                if ((ModeFormulaire)ligne.Tag == ModeFormulaire.AJOUT)
                {
                    RequeteAjout reqAjout = new RequeteAjout(NomTable.arejoindre, personneARejoindre);
                    if ((temp = Global.BaseDonneesCABS.EnvoyerRequeteAjout(reqAjout)) == -1)
                    {
                        ligne.ErrorText = "Une erreur est survenue lors de l'ajout de cette personne à rejoindre.";
                        erreur          = true;
                        continue;
                    }

                    ligne.Cells["Id"].Value = temp;
                }
                else if ((ModeFormulaire)ligne.Tag == ModeFormulaire.EDITION)
                {
                    RequeteModification reqModif = new RequeteModification(NomTable.arejoindre, new ConditionRequete(Operateur.EGAL, personneARejoindre.GetChamp("arjId")), personneARejoindre);
                    if ((temp = Global.BaseDonneesCABS.EnvoyerRequeteModification(reqModif)) <= 0)
                    {
                        ligne.ErrorText = "Une erreur est survenue lors de la modification de cette personne à rejoindre.";
                        erreur          = true;
                        continue;
                    }
                }
            }

            foreach (LigneTable ligne in PersonnesARejoindreASupprimer)
            {
                RequeteSuppression reqSup = new RequeteSuppression(NomTable.arejoindre, new ConditionRequete(Operateur.EGAL, ligne.GetChamp("arjId")));

                if ((temp = Global.BaseDonneesCABS.EnvoyerRequeteSuppression(reqSup)) <= 0)
                {
                    AjouterPersonnesARejoindre(ligne);
                    dgvPersonnesARejoindre.Rows[dgvPersonnesARejoindre.Rows.Count - 2].ErrorText = "Une erreur est survenue lors de la suppression de cette personne à rejoindre.";
                    erreur = true;
                }
            }

            PersonnesARejoindreASupprimer.Clear();

            if (!erreur)
            {
                btnEnregistrer.Enabled = btnAnnuler.Enabled = false;
            }
        }
Beispiel #16
0
        public override bool Enregistrer()
        {
            Global.BaseDonneesCABS.CommencerTransaction();

            if (!base.Enregistrer() || !ValiderDonnees())
            {
                Global.BaseDonneesCABS.AnnulerTransaction();
                return(false);
            }

            Champ indexPersonne = null;

            if (PersonneCourante != null)
            {
                indexPersonne = PersonneCourante.GetChamp("perId");
            }

            LigneTable adresseModifiee = null;

            if (Mode == ModeFormulaire.AJOUT)
            {
                LigneTable nouvellePersonne = CreerNouvellePersonne();
                nouvellePersonne.AjouterChamp("perDateOuverture", DateTime.Now);

                RequeteSelection reqSelNom = new RequeteSelection(NomTable.personne, "perId");
                reqSelNom.Condition = new ConditionRequete(Operateur.EGAL, "perNom", nouvellePersonne.GetChamp("perNom").ValeurSQL);
                reqSelNom.Condition.LierCondition(new ConditionRequete(Operateur.EGAL, "perPrenom", nouvellePersonne.GetChamp("perPrenom").ValeurSQL), true);

                if (!Global.BaseDonneesCABS.EnvoyerRequeteSelection(reqSelNom).EstVide&& !OutilsForms.PoserQuestion("Confirmation d'ajout", "Une autre personne porte les mêmes nom et prénom. Voulez-vous quand même ajouter celle-ci?"))
                {
                    Global.BaseDonneesCABS.AnnulerTransaction();
                    return(false);
                }

                if (StatutActif == null)
                {
                    Journal.AfficherMessage("La table des statuts est inexistante ou corrompue. L'action a été annulée.", TypeMessage.ERREUR, true);
                    Global.BaseDonneesCABS.AnnulerTransaction();
                    return(false);
                }

                nouvellePersonne.AjouterChamp(StatutActif);

                RequeteAjout reqAjout            = new RequeteAjout(NomTable.personne, nouvellePersonne);
                int          nouvelIndexPersonne = Global.BaseDonneesCABS.EnvoyerRequeteAjout(reqAjout);

                if (nouvelIndexPersonne == -1)
                {
                    Journal.AfficherMessage("Une erreur est survenue lors de l'ajout de la personne dans la base de données. L'action a été annulée.", TypeMessage.ERREUR, true);
                    Global.BaseDonneesCABS.AnnulerTransaction();
                    return(false);
                }

                indexPersonne = new Champ("Personne", "perId", nouvelIndexPersonne);
                nouvellePersonne.AjouterChamp(indexPersonne);
                PersonneCourante = nouvellePersonne;

                adresseModifiee = GetAdresseModifiee(PersonneCourante, new LigneTable("Personne"));
            }
            else if (Mode == ModeFormulaire.EDITION)
            {
                LigneTable personneModifiee = CreerNouvellePersonne();
                personneModifiee.AjouterChamp(PersonneCourante.GetChamp("staId"));

                RequeteModification reqModif = new RequeteModification(NomTable.personne, new ConditionRequete(Operateur.EGAL, indexPersonne), personneModifiee);
                int lignesModifiees          = Global.BaseDonneesCABS.EnvoyerRequeteModification(reqModif);

                if (lignesModifiees < 0)
                {
                    Journal.AfficherMessage("Une erreur est survenue lors de la modification de la personne. L'action a été annulée.", TypeMessage.ERREUR, true);
                    Global.BaseDonneesCABS.AnnulerTransaction();
                    return(false);
                }

                RequeteSuppression reqSup = new RequeteSuppression(NomTable.languepersonne, new ConditionRequete(Operateur.EGAL, indexPersonne));

                if (Global.BaseDonneesCABS.EnvoyerRequeteSuppression(reqSup) < 0)
                {
                    Journal.AfficherMessage("Une erreur est survenue lors de la suppression des langues parlées de la personne. L'action a été annulée.", TypeMessage.ERREUR, true);
                    Global.BaseDonneesCABS.AnnulerTransaction();
                    return(false);
                }

                personneModifiee.AjouterChamp(indexPersonne);
                PersonneCourante = personneModifiee;

                adresseModifiee = GetAdresseModifiee(PersonneCourante, personneModifiee);
            }

            if (IndexPersonneCouple != 0 && adresseModifiee != null &&
                OutilsForms.PoserQuestion("Modification adresse conjoint(e)", "Voulez-vous modifier l'adresse du conjoint(e) pour celle de la personne courante?"))
            {
                RequeteModification reqModif = new RequeteModification(NomTable.personne, new ConditionRequete(Operateur.EGAL, new Champ("Personne", "perId", IndexPersonneCouple)), adresseModifiee);
                int lignesModifiees          = Global.BaseDonneesCABS.EnvoyerRequeteModification(reqModif);

                if (lignesModifiees < 0)
                {
                    Journal.AfficherMessage("Une erreur est survenue lors de la modification de l'adresse du conjoint(e). L'action a été annulée.", TypeMessage.ERREUR, true);
                }
            }

            if (!MettreAJourTypesPersonne(indexPersonne))
            {
                Journal.AfficherMessage("Une erreur est survenue lors de la mise à jour des types de la personne dans la base de données. L'action a été annulée.", TypeMessage.ERREUR, true);
                Global.BaseDonneesCABS.AnnulerTransaction();
                return(false);
            }

            foreach (ComboBoxItem langue in chklbLangues.CheckedItems)
            {
                Champ idLangue = new Champ("Langue", "lanId", langue.Value);

                RequeteAjout reqAjout = new RequeteAjout(NomTable.languepersonne, indexPersonne, idLangue);

                if (Global.BaseDonneesCABS.EnvoyerRequeteAjout(reqAjout) < 0)
                {
                    Journal.AfficherMessage("Une erreur est survenue lors de l'ajout d'une langue parlée dans la base de données. L'action a été annulée.", TypeMessage.ERREUR, true);
                    Global.BaseDonneesCABS.AnnulerTransaction();
                    return(false);
                }
            }

            if (AncienIndexPersonneCouple != IndexPersonneCouple)
            {
                Champ premier  = new Champ("Couple", "perIdPremier", indexPersonne.Valeur);
                Champ deuxieme = new Champ("Couple", "perIdDeuxieme", IndexPersonneCouple);

                ConditionRequete condCouple = new ConditionRequete(Operateur.EGAL, "perIdPremier", indexPersonne.ValeurSQL);
                condCouple.LierCondition(new ConditionRequete(Operateur.EGAL, "perIdDeuxieme", indexPersonne.ValeurSQL), false);

                if (AncienIndexPersonneCouple == 0)
                {
                    RequeteAjout reqAjout = new RequeteAjout(NomTable.couple, premier, deuxieme);
                    if (Global.BaseDonneesCABS.EnvoyerRequeteAjout(reqAjout) < 0)
                    {
                        Journal.AfficherMessage("Une erreur est survenue lors de l'ajout du couple de la personne. L'action a été annulée.", TypeMessage.ERREUR, true);
                        Global.BaseDonneesCABS.AnnulerTransaction();
                        return(false);
                    }
                }
                else if (IndexPersonneCouple == 0)
                {
                    RequeteSuppression reqSup = new RequeteSuppression(NomTable.couple, condCouple);
                    if (Global.BaseDonneesCABS.EnvoyerRequeteSuppression(reqSup) < 0)
                    {
                        Journal.AfficherMessage("Une erreur est survenue lors de la suppression du couple de la personne. L'action a été annulée.", TypeMessage.ERREUR, true);
                        Global.BaseDonneesCABS.AnnulerTransaction();
                        return(false);
                    }
                }
                else
                {
                    RequeteModification reqModif = new RequeteModification(NomTable.couple, condCouple, premier, deuxieme);
                    if (Global.BaseDonneesCABS.EnvoyerRequeteModification(reqModif) < 0)
                    {
                        Journal.AfficherMessage("Une erreur est survenue lors de la modification du couple de la personne. L'action a été annulée.", TypeMessage.ERREUR, true);
                        Global.BaseDonneesCABS.AnnulerTransaction();
                        return(false);
                    }
                }
            }

            Global.BaseDonneesCABS.ConfirmerTransaction();
            return(true);
        }