private List <LignePrestation> chargerGrid() { AppartenirBE app = new AppartenirBE(); MontantTrancheBE mt = new MontantTrancheBE(); List <LignePrestation> liste = new List <LignePrestation>(); List <MontantTrancheBE> alltranches = new List <MontantTrancheBE>(); totalAPayer = 0; totalVerse = 0; totalRemise = 0; CultureInfo elGR = CultureInfo.CreateSpecificCulture("el-GR"); alltranches = prestationBL.listerSuivantCritereMontanttranches("codecateleve = " + "'" + categorie + "' and annee = " + "'" + annee + "'"); foreach (MontantTrancheBE m in alltranches) { totalAPayer += m.montant; } totalAPayer += (double)fraisInscription; payers = prestationBL.listerSuivantCriterePayer("matricule = " + "'" + matricule + "' and annee =" + "'" + annee + "'"); foreach (PayerBE payer in payers) { //if (payer.codePrestation == INSCRIPTION) //{ // liste.Add(new LignePrestation(payer.codePrestation, payer.codeTranche, (decimal)payer.montant, payer.observation, // fraisInscription - Convert.ToDecimal(payer.montant) - payer.remise, payer.remise, payer.datePaiement.ToShortDateString())); //} //else { app = new AppartenirBE(); app.matricule = payer.matricule; app.annee = payer.annee; app = prestationBL.rechercherCategorie(app); mt = new MontantTrancheBE(); mt.annee = payer.annee; mt.codeCatEleve = app.codeCatEleve; mt.codePrestation = payer.codePrestation; mt.codeTranche = payer.codeTranche; mt = prestationBL.rechercherMontantTranche(mt); if (payer.observation == TRANCHE_INCOMPLET) { liste.Add(new LignePrestation(payer.codePrestation, payer.codeTranche, (decimal)payer.montant, payer.observation, (decimal)(mt.montant - payer.montant - Convert.ToDouble(payer.remise)), payer.remise, payer.datePaiement.ToShortDateString())); } else { liste.Add(new LignePrestation(payer.codePrestation, payer.codeTranche, (decimal)payer.montant, payer.observation, 0, payer.remise, payer.datePaiement.ToShortDateString())); } } totalRemise += Convert.ToDouble(payer.remise); totalVerse += payer.montant; totalAPayer -= Convert.ToDouble(payer.remise); } resteAPayer = totalAPayer - totalVerse; txtTotal.Text = totalAPayer.ToString("0,0", elGR); txtTotalVerse.Text = totalVerse.ToString("0,0", elGR); txtResteAPayer.Text = (totalAPayer - totalVerse).ToString("0,0", elGR); txtRemise.Text = totalRemise.ToString("0,0", elGR); //txtReste.Text = "0"; return(liste); }
private void cmdValider_new_Click(object sender, RoutedEventArgs e) { if (cmbPrestation.SelectedValue == null || cmbPrestation.Text == "") { if (checkRemise.IsChecked == true) { switch (cmbDispense.Text) { case REMISE: MessageBox.Show("La réduction s'effectue sur une prestation, choisissez d'abord la prestation", "school brain:Alerte", MessageBoxButton.OK, MessageBoxImage.Information); break; case BOURSE: gestionDispense(); break; } } } else { if (txtMontant.Text != "") { string codeprestation = cmbPrestation.SelectedValue.ToString(); double remise = 0; List <MontantTrancheBE> tranches = new List <MontantTrancheBE>(); montant = Convert.ToDouble(txtMontant.Text); matricule = txtMatricule.Text.ToString(); codeprestation = cmbPrestation.SelectedValue.ToString(); login = Ecole.UI.ConnexionUI.utilisateur.login; tranches = prestationBL.listerSuivantCritereMontanttranches("codeprestation = " + "'" + codeprestation + "' and codecateleve = " + "'" + categorie + "' and annee = " + "'" + annee + "'"); PayerBE payerBE; double frais; CreerEtat etat = null; TrancheBE trancheBE; switch (codeprestation) { #region gestion de cas d'un depot case "Depot": if (checkRemise.IsChecked == true) { if (cmbDispense.Text == BOURSE) { gestionDispense(); } } // on recherche dans la bd à la fois les tranches non complètement payées et les tranches qui n'ont pas encore commencé à être payées bool b = true; List <PayerBE> listes = prestationBL.listerTrancheNonPayees(categorie, matricule, annee); MontantTrancheBE t = new MontantTrancheBE(); string numerorecu = ""; if (listes != null) { PayerBE p = new PayerBE(); foreach (PayerBE pa in listes) { if (b == true) { t.codeCatEleve = categorie; t.codePrestation = pa.codePrestation; t.codeTranche = pa.codeTranche; t.annee = pa.annee; t = prestationBL.rechercherMontantTranche(t); if (montant >= (t.montant - pa.montant - Convert.ToDouble(pa.remise))) { payerBE = new PayerBE(pa.matricule, login, pa.codePrestation, pa.codeTranche, t.montant - Convert.ToDouble(pa.remise), dpiDateOp.SelectedDate.Value, annee, TRANCHE_COMPLET, pa.remise); p = new PayerBE(pa.matricule, login, pa.codePrestation, pa.codeTranche, t.montant - pa.montant - Convert.ToDouble(pa.remise), dpiDateOp.SelectedDate.Value, annee, TRANCHE_COMPLET, pa.remise); if (prestationBL.modifierPayer(payerBE, p)) { payers.Add(payerBE); numerorecu = prestationBL.rechercherNumeroPayer(payerBE); } montant -= (t.montant - pa.montant - Convert.ToDouble(pa.remise)); } else { if (montant > 0) { payerBE = new PayerBE(pa.matricule, login, pa.codePrestation, pa.codeTranche, (pa.montant + montant), dpiDateOp.SelectedDate.Value, annee, TRANCHE_INCOMPLET, pa.remise); p = new PayerBE(pa.matricule, login, pa.codePrestation, pa.codeTranche, montant, dpiDateOp.SelectedDate.Value, annee, TRANCHE_INCOMPLET, pa.remise); if (prestationBL.modifierPayer(payerBE, p)) { payers.Add(payerBE); if (numerorecu == "") { numerorecu = prestationBL.rechercherNumeroPayer(payerBE); } } } montant = 0; b = false; } } } //enregistrement du versement //prestationBL.enregistrer_versement(matricule, "Opération de dépot d'argent pour les frais de : " + cmbPrestation.Text, (Convert.ToDouble(txtMontant.Text) - montant ), // dpiDateOp.SelectedDate.Value, annee); } lignes = chargerGrid(); etat = new CreerEtat("Paiement_prestation" + matricule + DateTime.Today.ToShortDateString(), "Reçu de versement N° " + numerorecu + "\nDate " + dpiDateOp.SelectedDate.Value); etat.factureDepot(Convert.ToDouble(txtMontant.Text), montant, totalAPayer, totalVerse, resteAPayer, eleve, cmbClasse.Text); initialiser(); break; #endregion #region gestion d'un paiement normal d'une tranche default: if (checkRemise.IsChecked == true) { switch (cmbDispense.Text) { case REMISE: gestionRemise(); break; case BOURSE: gestionDispense(); break; } } else { if (cmbTranche.SelectedValue != null) { payerBE = new PayerBE(matricule, login, codeprestation, tranche, montant, dpiDateOp.SelectedDate.Value, annee, TRANCHE_COMPLET, 0); if (prestationBL.rechercherPayer(payerBE) == null) { if (prestationBL.ajouterAcheterPayer(payerBE)) { trancheBE = new TrancheBE(); trancheBE.codetranche = payerBE.codeTranche; trancheBE = prestationBL.rechercherTranche(trancheBE); etat = new CreerEtat("Paiement_prestation" + matricule + DateTime.Today.ToShortDateString(), "Reçu de paiement N° " + prestationBL.rechercherNumeroPayer(payerBE) + "\nDate " + dpiDateOp.SelectedDate.Value); etat.facturePrestation(payerBE, eleve, cmbClasse.Text, prestation.nomPrestation, 0, trancheBE.nomtranche); montant -= montant; //enregistrement du versement //prestationBL.enregistrer_versement(matricule, "Opération de dépot d'argent pour les frais de : " + cmbPrestation.Text, Convert.ToDouble(txtMontant.Text), // dpiDateOp.SelectedDate.Value, annee); } else { MessageBox.Show("Enregistrement echoue"); } } else { MessageBox.Show("Cette tranche a déjà été payée pour cet étudiant, pour modifier cliquer sur la ligne correspondante dans la grille du bas"); } } else { double m = montant; numerorecu = ""; foreach (MontantTrancheBE mt in tranches) { payerBE = new PayerBE(matricule, Ecole.UI.ConnexionUI.utilisateur.login, codeprestation, mt.codeTranche, mt.montant, dpiDateOp.SelectedDate.Value, annee, TRANCHE_COMPLET, Convert.ToDecimal(remise)); if (prestationBL.ajouterAcheterPayer(payerBE)) { if (numerorecu == "") { numerorecu = prestationBL.rechercherNumeroPayer(payerBE); } montant -= mt.montant; } else { MessageBox.Show("Enregistrement echoue"); } } //enregistrement du versement //prestationBL.enregistrer_versement(matricule, "Opération de dépot d'argent pour les frais de : " + cmbPrestation.Text, Convert.ToDouble(txtMontant.Text), // dpiDateOp.SelectedDate.Value, annee); etat = new CreerEtat("Paiement_prestation" + matricule + DateTime.Today.ToShortDateString(), "Reçu de paiement N° " + numerorecu + "\nDate " + dpiDateOp.SelectedDate.Value); etat.facturePrestation(prestation, eleve, cmbClasse.Text, m, remise); } } initialiser(); break; #endregion } } else { MessageBox.Show("Veuillez renseigner le montant!", "school brain:Alerte", MessageBoxButton.OK, MessageBoxImage.Information); } } //enregistrement du versement prestationBL.enregistrer_versement(matricule, "Opération de dépot d'argent pour les frais de : " + cmbPrestation.Text, (Convert.ToDouble(txtMontant.Text) - montant), dpiDateOp.SelectedDate.Value, annee); txtReste.Text = montant.ToString(); lignes.Clear(); lignes = chargerGrid(); grdStatus.ItemsSource = lignes; grdStatus.Items.Refresh(); txtMontant.Clear(); cmbTranche.Text = ""; }