Example #1
0
 private void btnRetourDVD_Click(object sender, EventArgs e)
 {
     if (dgvDVD.SelectedRows.Count <= 0)
     {
         MessageBox.Show("Veuillez sélectionner au moins un DVD à rentrer avant d'effectuer cette action SVP.");
     }
     else
     {
         int i, j = 0;
         for (i = 0; i < dgvDVD.SelectedRows.Count; i++)
         {
             C_T_DVD TmpDVD = new G_T_DVD(sChConn).Lire_ID((int)dgvDVD.SelectedRows[i].Cells[0].Value);
             if (TmpDVD.D_Emprunt)                                                                                                                                // On vérifie que le DVD n'a pas déjà été retourné
             {
                 new G_T_DVD(sChConn).Modifier(TmpDVD.Id_DVD, TmpDVD.D_Nom, false, TmpDVD.D_Genre, TmpDVD.D_Emprunt_Max, TmpDVD.D_Amende_p_J, TmpDVD.D_Synopsis); // On change le bool d'emprunt du DVD à false => le DVD est à nouveau disponible
                 foreach (C_T_Quantite TmpQuantite in lQuantite)
                 {
                     if (TmpQuantite.Id_DVD == TmpDVD.Id_DVD && TmpQuantite.Q_Retour == null)                                                     // Important de confirmer les 2 conditions pour ne pas modifier la date de rentrée d'un autre emprunt
                     {
                         new G_T_Quantite(sChConn).Modifier(TmpQuantite.Id_Quantite, TmpQuantite.Id_Emprunt, TmpQuantite.Id_DVD, DateTime.Today); // On met la date du jour comme date de rentrée
                     }
                 }
             }
             else
             {
                 j++;
             }
         }
         MessageBox.Show((i - j) + " DVD récupérés");
         RemplirDGVDVD();
         Modified = true;
     }
 }
Example #2
0
        private void RemplirListeDVD()
        {
            lbDVDEmprunt.Items.Clear();
            List <C_T_DVD> lTmpDVD = new G_T_DVD(sChConn).Lire("Id_DVD");

            foreach (C_T_DVD TmpDVD in lTmpDVD)
            {
                // On n'ajoute que les DVD qui ne sont pas en prêt
                if (!TmpDVD.D_Emprunt)
                {
                    lbDVDEmprunt.Items.Add(TmpDVD.D_Nom.ToString() + " (ID=" + TmpDVD.Id_DVD + ")");
                }
            }
        }
        private void RemplirDonnees()
        {
            SelectedActeur      = new G_T_Acteur(sChConn).Lire_ID(SelectedActeur.Id_Acteur);
            this.Text           = "Acteur n°" + SelectedActeur.Id_Acteur;
            tbNomActeur.Text    = SelectedActeur.A_Nom;
            tbPrenomActeur.Text = SelectedActeur.A_Prenom;
            InternetLink        = SelectedActeur.A_Bio;

            // Liste de films
            lbListeFilms.Items.Clear();
            List <C_T_Liste_Acteurs> lTmplActeurs = new G_T_Liste_Acteurs(sChConn).Lire("Id_Liste_Acteurs");

            foreach (C_T_Liste_Acteurs TmplActeurs in lTmplActeurs)
            {
                if (TmplActeurs.Id_Acteur == SelectedActeur.Id_Acteur)
                {
                    C_T_DVD TmpDVD = new G_T_DVD(sChConn).Lire_ID((int)TmplActeurs.Id_DVD);
                    lbListeFilms.Items.Add(TmpDVD.D_Nom.ToString());
                }
            }
        }
 private void AfficherNotifs() // Une ligne = 148 char
 {
     rtbInfos.Text = "";
     if (!cbAfficherpDVD.Checked) // Tri par client
     {
         List <C_T_Client> lTmpClient = new G_T_Client(sChConn).Lire("Id_Client");
         foreach (C_T_Client TmpClient in lTmpClient)
         {
             double TmpAmende    = new EcranAccueil(sChConn).CalculerAmende(TmpClient.Id_Client);
             bool   TmpRetardCot = new EcranAccueil(sChConn).CalculerRetardCot((DateTime)TmpClient.C_Cotisation);
             if (TmpAmende > 0 || TmpRetardCot)  // Le client a un retard
             {
                 string TmpString, TmpString2;
                 bool   FirstLine = true;
                 TmpString = TmpClient.C_Nom + " " + TmpClient.C_Prenom + "(ID=" + TmpClient.Id_Client.ToString() + ") ";
                 int stringlen = TmpString.Length;
                 if (TmpRetardCot) // Retard de cotisation
                 {
                     DateTime DateCot   = (DateTime)TmpClient.C_Cotisation;
                     TimeSpan TpsRetard = DateTime.Today - DateCot.AddDays(1);
                     TmpString2     = " En retard de cotisation de " + TpsRetard.Days.ToString() + " jours";
                     TmpString2     = TmpString2.PadLeft(148 - stringlen, '-'); // On s'assure que le string complet prendra l'ensemble de la rtb
                     TmpString     += TmpString2;
                     rtbInfos.Text += TmpString;
                     rtbInfos.Text += "\n";
                     FirstLine      = false;
                 }
                 if (TmpAmende > 0)
                 {
                     List <C_T_Emprunt> lTmpEmprunt = new G_T_Emprunt(sChConn).Lire("Id_Emprunt");             // Charge tous les emprunts
                     foreach (C_T_Emprunt TmpEmprunt in lTmpEmprunt)                                           // Parcourt tous les emprunts
                     {
                         if (TmpEmprunt.Id_Client == TmpClient.Id_Client)                                      // Si Id client de l'emprunt parcouru == Id client sélectionné...
                         {
                             List <C_T_Quantite> lTmpQuantite = new G_T_Quantite(sChConn).Lire("Id_Quantite"); // Charge toutes les quantités
                             foreach (C_T_Quantite TmpQuantite in lTmpQuantite)                                // Parcourt toutes les quantités
                             {
                                 if (TmpQuantite.Id_Emprunt == TmpEmprunt.Id_Emprunt)                          // Si Id Quantité parcouru == Id Emprunt questionné...
                                 {
                                     if (TmpQuantite.Q_Retour == null)                                         // Si la date de retour == null (=> DVD non retourné)...
                                     {
                                         List <C_T_DVD> lTmpDVD = new G_T_DVD(sChConn).Lire("Id_DVD");         // Charge tous les DVD
                                         foreach (C_T_DVD TmpDVD in lTmpDVD)                                   // Parcourt tous les DVD
                                         {
                                             if (TmpDVD.Id_DVD == TmpQuantite.Id_DVD)                          // Si IDs identiques => DVD repris dans l'emprunt
                                             {
                                                 DateTime DateLimite = (DateTime)TmpEmprunt.E_Emprunt;         // On récupère la date de l'emprunt...
                                                 DateLimite.AddDays((double)TmpDVD.D_Emprunt_Max);             // Et on y ajoute la durée max d'emprunt du DVD pour déterminer la date limite de retour de ce DVD
                                                 TimeSpan tspan  = DateTime.Today.Subtract(DateLimite);        // On détermine la durée de temps entre aujourd'hui et la date limite de retour...
                                                 int      retard = tspan.Days - 1;                             // Et on la transforme en un nombre de jour => si > 0, retard; sinon encore dans les temps ( -1 sinon il compte le jour limite de rentrée)
                                                 if (retard > 0)                                               // Si retard > 0 => retard => Amende à appliquer !
                                                 {
                                                     TmpString2 = " Retard pour le retour de " + TmpDVD.D_Nom + " (ID=" + TmpDVD.Id_DVD + ") de " + retard.ToString() + " jours => amende = " + (retard * TmpDVD.D_Amende_p_J).ToString() + "€ (" + TmpDVD.D_Amende_p_J.ToString() + "€ par jour).";
                                                     TmpString2 = TmpString2.PadLeft(148 - stringlen, '-'); // On s'assure que le string complet prendra l'ensemble de la rtb
                                                     if (FirstLine)
                                                     {
                                                         TmpString     += TmpString2;
                                                         rtbInfos.Text += TmpString;
                                                         FirstLine      = false;
                                                     }
                                                     else
                                                     {
                                                         TmpString2     = TmpString2.PadLeft(148);
                                                         rtbInfos.Text += TmpString2;
                                                     }
                                                     rtbInfos.Text += "\n";
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
                 rtbInfos.Text += "\n"; // On saute une ligne avant de passer au client suivant
             }
         }
     }
     else // Tri par DVD
     {
         List <C_T_Quantite> lTmpQuantite = new G_T_Quantite(sChConn).Lire("Id_Quantite");
         foreach (C_T_Quantite TmpQuantite in lTmpQuantite)
         {
             if (TmpQuantite.Q_Retour == null)                                                                           // => DVD non rentré
             {
                 C_T_Emprunt TmpEmprunt  = new G_T_Emprunt(sChConn).Lire_ID((int)TmpQuantite.Id_Emprunt);                // On charge l'emprunt lié
                 C_T_DVD     TmpDVD      = new G_T_DVD(sChConn).Lire_ID((int)TmpQuantite.Id_DVD);                        // et le DVD
                 DateTime    DateEmprunt = (DateTime)TmpEmprunt.E_Emprunt;                                               // Et la date de l'emprunt
                 if (DateTime.Today > DateEmprunt.AddDays((double)TmpDVD.D_Emprunt_Max))                                 // Le DVD est en retard de retour
                 {
                     TimeSpan   tspan      = DateTime.Today.Subtract(DateEmprunt.AddDays((double)TmpDVD.D_Emprunt_Max)); // On détermine la durée de temps entre aujourd'hui et la date limite de retour...
                     int        retard     = tspan.Days - 1;                                                             // Et on la transforme en un nombre de jour (-1 sinon il compte le jour limite de rentrée)
                     string     TmpString  = "\"" + TmpDVD.D_Nom + "\" aurait du être rentré il y a " + retard.ToString() + " jours. Il a été emprunté par ";
                     int        StringLen  = TmpString.Length;
                     C_T_Client TmpClient  = new G_T_Client(sChConn).Lire_ID((int)TmpEmprunt.Id_Client);
                     string     TmpString2 = " " + TmpClient.C_Nom + " " + TmpClient.C_Prenom + ".";
                     TmpString2.PadLeft(148 - StringLen, '-');
                     TmpString     += TmpString2;
                     rtbInfos.Text += TmpString;
                     rtbInfos.Text += "\n\n";
                 }
             }
         }
     }
 }
Example #5
0
        private void RemplirListeTendance()
        {
            lbTendances.Items.Clear();
            lDVDEntries = new List <NameAndEntries>();
            List <C_T_Quantite> lTmpQuantite = new G_T_Quantite(sChConn).Lire("Id_Emprunt");

            foreach (C_T_Quantite TmpQuantite in lTmpQuantite)
            {
                bool    Trouve = false;
                C_T_DVD TmpDVD = new G_T_DVD(sChConn).Lire_ID((int)TmpQuantite.Id_DVD);
                for (int i = 0; i < lDVDEntries.Count; i++)
                {
                    if (lDVDEntries[i].Name == TmpDVD.D_Nom)
                    {
                        C_T_Emprunt TmpEmprunt = new G_T_Emprunt(sChConn).Lire_ID((int)TmpQuantite.Id_Emprunt);
                        switch (Filtre)
                        {
                        default:
                        case 0:     // Tous
                            lDVDEntries[i].Entries++;
                            Trouve = true;
                            break;

                        case 1:     // mois
                            if (TmpEmprunt.E_Emprunt >= DateTime.Today.AddMonths(-1))
                            {
                                lDVDEntries[i].Entries++;
                            }
                            Trouve = true;
                            break;

                        case 2:     // Semaine
                            if (TmpEmprunt.E_Emprunt >= DateTime.Today.AddDays(-7))
                            {
                                lDVDEntries[i].Entries++;
                            }
                            Trouve = true;
                            break;

                        case 3:     // Ajd
                            if (TmpEmprunt.E_Emprunt >= DateTime.Today)
                            {
                                lDVDEntries[i].Entries++;
                            }
                            Trouve = true;
                            break;
                        }
                        break;
                    }
                }
                if (!Trouve)
                {
                    //lDVDEntries.Add(new NameAndEntries(TmpDVD.D_Nom));
                    C_T_Emprunt TmpEmprunt = new G_T_Emprunt(sChConn).Lire_ID((int)TmpQuantite.Id_Emprunt);
                    switch (Filtre)
                    {
                    default:
                    case 0:     // Tous
                        lDVDEntries.Add(new NameAndEntries(TmpDVD.D_Nom));
                        Trouve = true;
                        break;

                    case 1:     // mois
                        if (TmpEmprunt.E_Emprunt >= DateTime.Today.AddMonths(-1))
                        {
                            lDVDEntries.Add(new NameAndEntries(TmpDVD.D_Nom));
                        }
                        Trouve = true;
                        break;

                    case 2:     // Semaine
                        if (TmpEmprunt.E_Emprunt >= DateTime.Today.AddDays(-7))
                        {
                            lDVDEntries.Add(new NameAndEntries(TmpDVD.D_Nom));
                        }
                        Trouve = true;
                        break;

                    case 3:     // Ajd
                        if (TmpEmprunt.E_Emprunt >= DateTime.Today)
                        {
                            lDVDEntries.Add(new NameAndEntries(TmpDVD.D_Nom));
                        }
                        Trouve = true;
                        break;
                    }
                }
            }
            lDVDEntries = lDVDEntries.OrderBy(x => x.Entries).ToList();
            for (int i = lDVDEntries.Count - 1; i >= 0; i--) // Liste ordonnée par ordre croissant => On la charge à l'envers
            {
                lbTendances.Items.Add(lDVDEntries[i].Name + " (" + lDVDEntries[i].Entries.ToString() + " emprunts)");
            }
        }