示例#1
0
        private void RemplirListeClients(int ID)
        {
            lbClientEmprunt.Items.Clear();
            List <C_T_Client> lTmpClient = new G_T_Client(sChConn).Lire("Id_Client");
            int i = 0;

            foreach (C_T_Client TmpClient in lTmpClient)
            {
                // On n'ajoute que les clients qui n'ont aucun retard dans a liste d'emprunt
                if (!new EcranAccueil(sChConn).CalculerRetardCot((DateTime)TmpClient.C_Cotisation) && new EcranAccueil(sChConn).CalculerAmende(TmpClient.Id_Client) == 0)
                {
                    lbClientEmprunt.Items.Add(TmpClient.C_Nom.ToString() + " " + TmpClient.C_Prenom.ToString() + " (ID=" + TmpClient.Id_Client + ")");
                    if (TmpClient.Id_Client == ID)
                    {
                        lbClientEmprunt.SetSelected(i, true);
                    }
                    i++;
                }
            }
        }
示例#2
0
        private void RemplirDonnees()
        {
            SelectedDVD         = new G_T_DVD(sChConn).Lire_ID(SelectedDVD.Id_DVD);
            this.Text           = "DVD n°" + SelectedDVD.Id_DVD;
            tbNomFilm.Text      = SelectedDVD.D_Nom;
            tbGenre.Text        = SelectedDVD.D_Genre;
            InternetLink        = SelectedDVD.D_Synopsis;
            nudEmpruntMax.Value = (decimal)SelectedDVD.D_Emprunt_Max;
            nudAmende_p_j.Value = (decimal)SelectedDVD.D_Amende_p_J;

            // Acteurs
            lbActeurs.Items.Clear();
            if (!Modifying) // On n'est pas en train de modifier les données => On n'affiche que les acteurs qui jouent dans le film
            {
                lActeursActu = new List <string>();
                List <C_T_Liste_Acteurs> lTmplActeur = new G_T_Liste_Acteurs(sChConn).Lire("A_Nom"); // Toutes les listes d'acteurs
                NbrActeurs = 0;
                foreach (C_T_Liste_Acteurs TmplActeur in lTmplActeur)
                {
                    if ((int)TmplActeur.Id_DVD == SelectedDVD.Id_DVD)
                    {
                        C_T_Acteur TmpActeur = new G_T_Acteur(sChConn).Lire_ID((int)TmplActeur.Id_Acteur);
                        lbActeurs.Items.Add(TmpActeur.A_Nom + " " + TmpActeur.A_Prenom + " (ID=" + TmpActeur.Id_Acteur + ")");
                        lActeursActu.Add(TmpActeur.A_Nom + " " + TmpActeur.A_Prenom + " (ID=" + TmpActeur.Id_Acteur + ")");
                        NbrActeurs++;
                    }
                }
            }
            else // On est en train de modifier les données => Il faut afficher tous les acteurs de la base de données
            {
                List <C_T_Acteur> lTmpActeur = new G_T_Acteur(sChConn).Lire("A_Nom");
                foreach (C_T_Acteur TmpActeur in lTmpActeur)
                {
                    string TmpStringActeur = TmpActeur.A_Nom + " " + TmpActeur.A_Prenom + " (ID=" + TmpActeur.Id_Acteur + ")";
                    lbActeurs.Items.Add(TmpStringActeur);
                    if (lActeursActu != null)
                    {
                        foreach (string Acteur in lActeursActu)
                        {
                            if (Acteur == TmpStringActeur)
                            {
                                lbActeurs.SetSelected(lbActeurs.Items.Count - 1, true);
                            }
                        }
                    }
                }
            }

            //Emprunt actuel et précédents
            lbClients_precedents.Items.Clear();
            List <C_T_Quantite> lTmpQuantite = new G_T_Quantite(sChConn).Lire("Id_Emprunt");

            foreach (C_T_Quantite TmpQuantite in lTmpQuantite)
            {
                if (TmpQuantite.Id_DVD == SelectedDVD.Id_DVD)
                {
                    C_T_Emprunt TmpEmprunt = new G_T_Emprunt(sChConn).Lire_ID((int)TmpQuantite.Id_Emprunt);
                    C_T_Client  TmpClient  = new G_T_Client(sChConn).Lire_ID((int)TmpEmprunt.Id_Client); // On remonte à la source pour récupérer le client
                    if (TmpQuantite.Q_Retour == null)                                                    // Le DVD est actuellement emprunté par ce client
                    {
                        tbClient_actuel.Text = TmpClient.C_Nom.ToUpper() + " " + TmpClient.C_Prenom + " (ID=" + TmpClient.Id_Client + ")";
                    }
                    else
                    {
                        lbClients_precedents.Items.Add(TmpClient.C_Nom.ToUpper() + " " + TmpClient.C_Prenom + " (ID=" + TmpClient.Id_Client + ")");
                    }
                }
            }
            if (!SelectedDVD.D_Emprunt)
            {
                tbClient_actuel.Text = "N/A";
            }
        }
 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";
                 }
             }
         }
     }
 }