private void affiche_montant_click(object sender, RoutedEventArgs e) { try { pret_ac st = Donnée_pret_ac.SelectedItem as pret_ac; pret_remboursable pret = null; foreach (KeyValuePair <int, pret_remboursable> liste in responsable.liste_pret_remboursable) { if (Double.Parse(st.Montant_Prét) == liste.Value.Montant && st.Nom.Equals(liste.Value.Employé.Nom) && st.Prenom.Equals(liste.Value.Employé.Prenom) && Int32.Parse(st.N_Pv) == liste.Value.Num_pv && st.description.Equals(liste.Value.Type_Pret.Description)) { pret = liste.Value; } } if (methode_prelevement.Text.Equals("Paiement sur plusieurs mois.")) { double nb_mois_ = Double.Parse(nb_mois_saisi.Text); double montant_multip = (pret.Montant / (double)pret.Durée) * nb_mois_; EasyCOS.montant = " " + montant_multip.ToString(); } montant_prelevement.Text = EasyCOS.montant; } catch (Exception l) { MessageBox.Show("Veuillez selectionner un pret.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation); } }
public void ajouter_pret_remboursable_employe(pret_remboursable p) { if (!(pret_remboursable_employe.ContainsValue(p))) { pret_remboursable_employe.Add(p.Cle, p); Employé.cle_liste_prets_remboursable_employe++; } else { Console.WriteLine("pas d'ajout"); } }
private void Détails(object sender, RoutedEventArgs e) { Donnée_bilan.Visibility = Visibility.Hidden; archi.Visibility = Visibility.Visible; archi.IsEnabled = true; bilann st = Donnée_bilan.SelectedItem as bilann; Prets pret = null; foreach (Prets liste in responsable.bilan) { if (DateTime.Parse(st.Date_demande).Equals(liste.Date_demande) && (DateTime.Parse(st.Date_de_Pv).Equals(liste.Date_pv)) && (Double.Parse(st.Montant_Prét) == liste.Montant) && st.Nom.Equals(liste.Employé.Nom) && st.Prenom.Equals(liste.Employé.Prenom) && Int32.Parse(st.N_Pv) == liste.Num_pv && (st.Type_Prêt.Equals(liste.Type_Pret.Description) && st.sum_rembours.Equals(liste.somme_rembours())) && (st.fin_paiement.Equals(liste.fin_paiement())) && (st.prem_paiement.Equals(liste.prem_paiment()))) { pret = liste; } } nom_detail.Text = pret.Employé.Nom + " " + pret.Employé.Prenom; prenom_detail.Text = pret.Employé.Email; date_nais_info.Text = pret.Employé.Date_naissance.ToShortDateString(); num_sec_info.Text = pret.Employé.sec_soc; matricule_info.Text = pret.Employé.Matricule; date_recru_info.Text = pret.Employé.Date_prem.ToShortDateString(); etat_soc_info.Text = pret.Employé.etats; service_info.Text = pret.Employé.Service; num_tel_info.Text = pret.Employé.tel; ccp_info.Text = pret.Employé.compte_ccp; cle_ccp_info.Text = pret.Employé.Cle_ccp; grade_info.Text = pret.Employé.Grade; description_info.Text = pret.Type_Pret.Description; num_pv_info.Text = pret.Num_pv.ToString(); date_pv_info.Text = pret.Date_pv.ToShortDateString(); date_demande_info.Text = pret.Date_demande.ToShortDateString(); montant_info.Text = pret.Montant.ToString(); montant_lettre_info.Text = pret.Montant_lettre; motif_info.Text = pret.Motif; Some.Text = pret.somme_rembours(); primo.Text = pret.prem_paiment(); fino.Text = pret.fin_paiement(); if (pret.GetType() == typeof(pret_non_remboursable)) { Duréee.Text = "0"; } if (pret.GetType() == typeof(pret_remboursable)) { pret_remboursable p1 = (pret_remboursable)pret; Duréee.Text = p1.Durée.ToString(); } archi.Visibility = Visibility.Visible; }
public pret_remboursable(int cle_, Employé employé, Type_pret type, string motif, int num_pv, DateTime date_pv, double montant, DateTime date_demande, string montant_lettre, DateTime date_premier_paiment, int durée, int en_cours, Dictionary <int, double> dico, int debordement) : base(cle_, employé, type, motif, num_pv, date_pv, montant, date_demande, montant_lettre) { this.date_premier_paiment = date_premier_paiment; this.en_cours = en_cours; this.etat = dico; this.debordement = debordement; foreach (pret_remboursable p in responsable.liste_pret_remboursable.Values) { if (p.debordement == this.cle) { this.somme_remboursée = p.Somme_remboursée; } } this.durée = durée; this.Date_actuelle = this.Date_premier_paiment; foreach (pret_remboursable p in responsable.liste_pret_remboursable.Values) { pret_remboursable k = p; if (this.cle == k.Debordement) { this.Date_actuelle = k.Date_actuelle; } } foreach (double d in this.etat.Values) { if (d != -1) { this.somme_remboursée = this.somme_remboursée + d; if (this.somme_remboursée < this.montant) { this.date_actuelle = this.date_actuelle.AddMonths(1); this.mois_actuel++; } if (this.somme_remboursée == this.montant) { this.mois_actuel = 11; } } } }
//methodes de manupulation de l'interface private void Clik(object sender, RoutedEventArgs e) { int ann = 0; int cpt = 0; if (!String.IsNullOrEmpty(an.Text)) { try { ann = int.Parse(an.Text); } catch (FormatException) { MessageBox.Show("L'année entrée est invalide"); data_grid.Visibility = Visibility.Hidden; Grid_année.Visibility = Visibility.Visible; cpt++; } if (cpt == 0) { Grid_année.Visibility = Visibility.Hidden; data_grid.Visibility = Visibility.Visible; responsable.remplissage_bilan(ann); List <bilann> source = new List <bilann>(); foreach (Prets liste in responsable.bilan) { bilann arch = new bilann(); if (liste.GetType() == typeof(pret_remboursable)) { if (responsable.liste_pret_remboursable.ContainsValue((pret_remboursable)liste)) { arch.Etat = "en cours"; } else { arch.Etat = "cloturé"; } } else { if (liste.GetType() == typeof(pret_non_remboursable)) { if (responsable.liste_pret_non_remboursables.ContainsValue((pret_non_remboursable)liste)) { arch.Etat = "en cours"; } else { arch.Etat = "cloturé"; } } } arch.Nom = liste.Employé.Nom; arch.Prenom = liste.Employé.Prenom; arch.N_Pv = liste.Num_pv.ToString(); arch.Motif = liste.Motif; arch.Date_demande = liste.Date_demande.ToShortDateString(); arch.Montant_Prét = liste.Montant.ToString(); arch.Montant_Prét_lettre = liste.Montant_lettre; arch.Observation = ""; arch.Type_Prêt = liste.Type_Pret.Description.ToString(); arch.Date_de_Pv = liste.Date_pv.ToShortDateString(); arch.prem_paiement = liste.prem_paiment(); arch.fin_paiement = liste.fin_paiement(); arch.sum_rembours = liste.somme_rembours(); if (liste.GetType() == typeof(pret_remboursable)) { pret_remboursable p = (pret_remboursable)liste; arch.Durée = p.Durée.ToString(); } else { arch.Durée = "0"; } source.Add(arch); } Donnée_bilan.ItemsSource = source; } } }
public void paiement_plusieurs_mois(int nb_mois) { responsable.pile_modifications.Add(new Modification(4, this.Cle)); int difference = DateTime.Compare(DateTime.Now, this.Date_premier_paiment); if (difference > 0) { if ((this.montant - this.somme_remboursée) > (this.montant / this.durée) * nb_mois) { if ((this.en_cours == 1) && (this.mois_actuel < 10) && (this.somme_remboursée < this.montant)) { this.etat.Remove(this.mois_actuel); this.etat.Add(this.mois_actuel, (this.montant / this.durée) * nb_mois); responsable.tresor = responsable.tresor + ((this.montant / this.durée) * nb_mois); this.somme_remboursée = this.somme_remboursée + ((this.montant / this.durée) * nb_mois); this.date_actuelle = this.date_actuelle.AddMonths(1); this.mois_actuel++; } else { if ((this.mois_actuel == 10) && (this.debordement == -1) && (this.somme_remboursée < this.montant)) { pret_remboursable p = (pret_remboursable)this.MemberwiseClone(); p.cle = responsable.cle_a_affecter_pret_remboursable(); Dictionary <int, double> dico2 = new Dictionary <int, double>(); for (int i = 0; i < 10; i++) { dico2.Add(i, -1); } p.Etat = dico2; this.debordement = p.cle; this.mois_actuel++; p.mois_actuel = 0; p.somme_remboursée = this.somme_remboursée; responsable.liste_pret_remboursable_provisoire.Add(p.cle, p); } else { if ((this.mois_actuel == 10) && (this.debordement != -1)) { this.mois_actuel++; } } } if ((this.En_cours == 0) && (this.mois_actuel < 10)) { this.etat.Remove(this.mois_actuel); this.etat.Add(this.mois_actuel, 0); this.mois_actuel++; this.date_actuelle = this.date_actuelle.AddMonths(1); this.en_cours = 0; } if ((this.somme_remboursée == this.montant) || ((this.somme_remboursée + 1 >= this.montant))) { int cpt = this.mois_actuel; if (cpt < 10) { for (cpt = this.mois_actuel; cpt < 10; cpt++) { this.etat.Remove(cpt); this.etat.Add(cpt, -1); } } this.mois_actuel = 11; this.date_actuelle = this.date_actuelle.AddMonths(-1); } } else { this.paiement_anticipé(); } foreach (KeyValuePair <int, pret_remboursable> kvp in responsable.liste_pret_remboursable) { if ((this.debordement == kvp.Key)) { kvp.Value.paiement_plusieurs_mois(nb_mois); } } foreach (KeyValuePair <int, pret_remboursable> element in responsable.liste_pret_remboursable_provisoire) { if ((this.debordement == element.Key)) { element.Value.paiement_plusieurs_mois(nb_mois); } } } }
private void actualiser() { remarque_prelevements_ancien.Visibility = Visibility.Hidden; Donnée_pret_ac.ItemsSource = null; List <pret_ac> source = new List <pret_ac>(); source.Clear(); foreach (pret_remboursable pret in responsable.liste_pret_remboursable.Values) { if (pret.isPere()) { if (pret.Debordement == -1) { if ((pret.Date_actuelle.Month < DateTime.Now.Month && pret.Somme_remboursée < pret.Montant)) { remarque_prelevements_ancien.Visibility = Visibility.Visible; pret_ac p = new pret_ac(); p.Nom = pret.Employé.Nom; p.Prenom = pret.Employé.Prenom; p.N_Pv = pret.Num_pv.ToString(); p.description = pret.Type_Pret.Description; p.Date_paiement = pret.Date_actuelle.ToShortDateString(); p.Montant_Prét = pret.Montant.ToString(); source.Add(p); } else { if (pret.Date_actuelle.Month == DateTime.Now.Month && pret.Somme_remboursée != pret.Montant) { pret_ac p = new pret_ac(); p.Nom = pret.Employé.Nom; p.Prenom = pret.Employé.Prenom; p.N_Pv = pret.Num_pv.ToString(); p.description = pret.Type_Pret.Description; p.Date_paiement = pret.Date_actuelle.ToShortDateString(); p.Montant_Prét = pret.Montant.ToString(); source.Add(p); } } } else { pret_remboursable fils = null; retry :; fils = pret.getFils(); if (fils.Debordement != -1) { goto retry; } if ((fils.Date_actuelle.Month < DateTime.Now.Month && fils.Somme_remboursée < fils.Montant)) { remarque_prelevements_ancien.Visibility = Visibility.Visible; pret_ac p = new pret_ac(); p.Nom = fils.Employé.Nom; p.Prenom = fils.Employé.Prenom; p.N_Pv = fils.Num_pv.ToString(); p.description = fils.Type_Pret.Description; p.Date_paiement = fils.Date_actuelle.ToShortDateString(); p.Montant_Prét = fils.Montant.ToString(); source.Add(p); } else { if (fils.Date_actuelle.Month == DateTime.Now.Month && fils.Somme_remboursée != fils.Montant) { pret_ac p = new pret_ac(); p.Nom = fils.Employé.Nom; p.Prenom = fils.Employé.Prenom; p.N_Pv = fils.Num_pv.ToString(); p.description = fils.Type_Pret.Description; p.Date_paiement = fils.Date_actuelle.ToShortDateString(); p.Montant_Prét = fils.Montant.ToString(); source.Add(p); } } } } } if (source.Count == 0) { notif_prelevement.Visibility = Visibility.Hidden; } nb_prelevement_pop.Content = " " + source.Count.ToString() + " Prélèvement(s) sont prévus."; Donnée_pret_ac.ItemsSource = source; }
private void confirmer_Prélèvement_click(object sender, RoutedEventArgs e) { try { pret_ac st = Donnée_pret_ac.SelectedItem as pret_ac; pret_remboursable pret = null; foreach (KeyValuePair <int, pret_remboursable> liste in responsable.liste_pret_remboursable) { if (Double.Parse(st.Montant_Prét) == liste.Value.Montant && st.Nom.Equals(liste.Value.Employé.Nom) && st.Prenom.Equals(liste.Value.Employé.Prenom) && Int32.Parse(st.N_Pv) == liste.Value.Num_pv && st.description.Equals(liste.Value.Type_Pret.Description)) { pret = liste.Value; } } double montant_prelevé = 0; if (methode_prelevement.Text.Equals("Paiement Standard.")) { montant_prelevé = pret.Montant - pret.Somme_remboursée; responsable.paiement_standard(pret.Cle); actualiser(); int mois = pret.Date_actuelle.Month - 1; MessageBoxResult result = MessageBox.Show("Prélèvement fait avec succès !", "Notification Prélèvement", MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.No); montant_prelevé = montant_prelevé - (pret.Montant - pret.Somme_remboursée); } else { if (methode_prelevement.Text.Equals("Paiement sur plusieurs mois.")) { montant_prelevé = pret.Montant - pret.Somme_remboursée; responsable.paiement_plusieurs_mois(pret.Cle, Int32.Parse(nb_mois_saisi.Text)); actualiser(); int mois = pret.Date_actuelle.Month - 1; double d = pret.Etat[mois - 2]; MessageBoxResult result = MessageBox.Show("Prélèvement fait avec succès !", "Notification Prélèvement", MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.No); montant_prelevé = montant_prelevé - (pret.Montant - pret.Somme_remboursée); } else { if (methode_prelevement.Text.Equals("Paiement Anticipé (Total).")) { montant_prelevé = pret.Montant - pret.Somme_remboursée; double d = pret.Montant - pret.Somme_remboursée; responsable.paiement_anticipé(pret.Cle); actualiser(); int mois = pret.Date_actuelle.Month - 1; MessageBoxResult result = MessageBox.Show("Prélèvement fait avec succès !", "Notification Prélèvement", MessageBoxButton.OK, MessageBoxImage.Information); montant_prelevé = montant_prelevé - (pret.Montant - pret.Somme_remboursée); } else { if (methode_prelevement.Text.Equals("Retardement.")) { responsable.retardement_paiement(pret.Cle); actualiser(); int mois = pret.Date_actuelle.Month - 1; MessageBoxResult result = MessageBox.Show("Retardement effectué avec succès !", "Notification Retardement", MessageBoxButton.OK, MessageBoxImage.Information); } else { if (methode_prelevement.Text.Equals("Effacement des Dettes")) { responsable.effacement_dettes(pret.Cle); actualiser(); int mois = pret.Date_actuelle.Month; MessageBoxResult result = MessageBox.Show("Effacement des dettes fait avec succès !", "Notification Effacement des dettes", MessageBoxButton.OK, MessageBoxImage.Information); } else { if (methode_prelevement.Text.Equals("Paiement Libre")) { montant_prelevé = pret.Montant - pret.Somme_remboursée; double montant = Double.Parse(montant_prelevement.Text); responsable.paiement_spécial(pret.Cle, montant); actualiser(); int mois = pret.Date_actuelle.Month - 1; MessageBoxResult result = MessageBox.Show("Prélèvement fait avec succès !", "Notification Prélèvement", MessageBoxButton.OK, MessageBoxImage.Information); montant_prelevé = montant_prelevé - (pret.Montant - pret.Somme_remboursée); } } } } } } if (Window2.envoi_notif) { if (Window2.mode_envoi) { if (!pret.Employé.Email.Equals("")) { responsable.Envoi_mail(pret, montant_prelevé); } else { WpfTutorialSamples.Dialogs.InputDialogSample input = new WpfTutorialSamples.Dialogs.InputDialogSample(pret, montant_prelevé, "Veuillez entrer le mail de l'employé :", "*****@*****.**"); input.ShowActivated = true; input.Show(); } } else { MessageBoxResult result = MessageBox.Show("Voulez vous envoyer une notification E-mail ?", "Notification E-mail", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No); switch (result) { case MessageBoxResult.Yes: if (!pret.Employé.Email.Equals("")) { responsable.Envoi_mail(pret, montant_prelevé); } else { WpfTutorialSamples.Dialogs.InputDialogSample input = new WpfTutorialSamples.Dialogs.InputDialogSample(pret, montant_prelevé, "Veuillez entrer le mail de l'employé :", "*****@*****.**"); input.ShowActivated = true; input.Show(); } break; case MessageBoxResult.No: MessageBox.Show("La notification sera pas envoyé", "Notification E-mail", MessageBoxButton.OK, MessageBoxImage.Information); break; } } } } catch (Exception l) { MessageBox.Show("Veuillez selectionner un pret.", "Attention", MessageBoxButton.OK, MessageBoxImage.Exclamation); } methode_prelevement.Text = ""; montant_prelevement.Text = ""; }
private void montant_prelevement_selection_changed(object sender, SelectionChangedEventArgs e) { try { montant_prelevement.Text = ""; pret_ac st = Donnée_pret_ac.SelectedItem as pret_ac; pret_remboursable pret = null; foreach (KeyValuePair <int, pret_remboursable> liste in responsable.liste_pret_remboursable) { if (Double.Parse(st.Montant_Prét) == liste.Value.Montant && st.Nom.Equals(liste.Value.Employé.Nom) && st.Prenom.Equals(liste.Value.Employé.Prenom) && Int32.Parse(st.N_Pv) == liste.Value.Num_pv && st.description.Equals(liste.Value.Type_Pret.Description)) { pret = liste.Value; } } if (methode_prelevement.SelectedItem.ToString().Equals("Paiement Standard.")) { nb_mois.Visibility = Visibility.Hidden; nb_mois_saisi.Visibility = Visibility.Hidden; m.Visibility = Visibility.Hidden; montant_prelevement.IsReadOnly = true; EasyCOS.montant = " " + (pret.Montant / pret.Durée).ToString(); } else { if (methode_prelevement.SelectedItem.ToString().Equals("Paiement sur plusieurs mois.")) { nb_mois.Visibility = Visibility.Visible; nb_mois_saisi.Visibility = Visibility.Visible; m.Visibility = Visibility.Visible; double nb_mois_ = Double.Parse(nb_mois_saisi.Text); double montant_multip = (pret.Montant / (double)pret.Durée) * nb_mois_; montant_prelevement.IsReadOnly = true; EasyCOS.montant = " " + montant_multip.ToString(); } else { if (methode_prelevement.SelectedItem.ToString().Equals("Paiement Anticipé (Total).")) { nb_mois.Visibility = Visibility.Hidden; nb_mois_saisi.Visibility = Visibility.Hidden; m.Visibility = Visibility.Hidden; montant_prelevement.IsReadOnly = true; EasyCOS.montant = " " + (pret.Montant - pret.Somme_remboursée).ToString(); } else { if (methode_prelevement.SelectedItem.ToString().Equals("Retardement.")) { nb_mois.Visibility = Visibility.Hidden; nb_mois_saisi.Visibility = Visibility.Hidden; m.Visibility = Visibility.Hidden; montant_prelevement.IsReadOnly = true; EasyCOS.montant = " 0"; } else { if (methode_prelevement.SelectedItem.ToString().Equals("Effacement des Dettes")) { nb_mois.Visibility = Visibility.Hidden; nb_mois_saisi.Visibility = Visibility.Hidden; m.Visibility = Visibility.Hidden; montant_prelevement.IsReadOnly = true; EasyCOS.montant = " 0"; } else { if (methode_prelevement.SelectedItem.ToString().Equals("Paiement Libre")) { nb_mois.Visibility = Visibility.Hidden; nb_mois_saisi.Visibility = Visibility.Hidden; m.Visibility = Visibility.Hidden; montant_prelevement.IsReadOnly = false; } } } } } } } catch (Exception ex) { MessageBox.Show("Selectionez d'abord un pret pour faire le prélèvement ou entrer une valeur valide !"); } }
public void Display_Detail_Click(object sender, RoutedEventArgs e) { double montant_t_r = 0; foreach (KeyValuePair <int, pret_remboursable> liste in responsable.liste_pret_remboursable) { montant_t_r = montant_t_r + liste.Value.Montant; } double montant_t_r_n = 0; foreach (KeyValuePair <int, pret_non_remboursable> liste in responsable.liste_pret_non_remboursables) { montant_t_r_n = montant_t_r_n + liste.Value.Montant; } nbr_prt_total2.Text = (montant_t_r + montant_t_r_n).ToString() + "DA"; nbr_dons2.Text = montant_t_r_n.ToString() + "DA"; double mon_res = 0; foreach (KeyValuePair <int, pret_remboursable> liste in responsable.liste_pret_remboursable) { mon_res = mon_res + liste.Value.Somme_remboursée; } nbr_prt_socials2.Text = mon_res.ToString() + "DA";; int cpt2 = 0; foreach (KeyValuePair <int, pret_remboursable> pret in responsable.liste_pret_remboursable) { if (pret.Value.Somme_remboursée < pret.Value.Montant) { if (pret.Value.isPere()) { cpt2++; } } } nbr_prt_cours_suivi2.Text = Donnée_pret_ac.Items.Count.ToString(); var listeDates = new List <DateTime>(); foreach (KeyValuePair <int, pret_remboursable> pret in responsable.liste_pret_remboursable) { if (pret.Value.Debordement == -1 && pret.Value.isPere()) { listeDates.Add(pret.Value.Date_actuelle); } else { pret_remboursable p = pret.Value; while (p.Debordement != -1) { p = p.getFils(); } listeDates.Add(p.Date_actuelle); } } DateTime smallest = listeDates.Min(); if (border_memer.Height == 330) { Duration duration = new Duration(TimeSpan.FromSeconds(0.5)); DoubleAnimation myDoubleAnimation1 = new DoubleAnimation(); myDoubleAnimation1.Duration = duration; myDoubleAnimation1.From = 330; myDoubleAnimation1.To = 0; Storyboard sb = new Storyboard(); sb.Duration = duration; sb.Children.Add(myDoubleAnimation1); Storyboard.SetTarget(myDoubleAnimation1, border_memer); Storyboard.SetTargetProperty(myDoubleAnimation1, new PropertyPath(Border.HeightProperty)); sb.Begin(); Icon_Display_Detail.Kind = MaterialDesignThemes.Wpf.PackIconKind.ArrowDownBoldCircleOutline; Display_Detail.ToolTip = "Afficher Le Detail"; } else { border_memer.Visibility = Visibility.Visible; Detail_slimimer.Visibility = Visibility.Visible; Icon_Display_Detail.Kind = MaterialDesignThemes.Wpf.PackIconKind.ArrowUpBoldCircleOutline; Display_Detail.ToolTip = "Cacher Le Detail"; Duration duration = new Duration(TimeSpan.FromSeconds(0.5)); DoubleAnimation myDoubleAnimation1 = new DoubleAnimation(); myDoubleAnimation1.Duration = duration; myDoubleAnimation1.From = 0; myDoubleAnimation1.To = 330; Storyboard sb = new Storyboard(); sb.Duration = duration; sb.Children.Add(myDoubleAnimation1); Storyboard.SetTarget(myDoubleAnimation1, border_memer); Storyboard.SetTargetProperty(myDoubleAnimation1, new PropertyPath(Border.HeightProperty)); sb.Begin(); } }