示例#1
0
        /// <summary>
        /// Fonction qui supprime l'emprunt de la liste des emprunts de la mediatheuqe quand le membre vient rendre le Livre
        /// Le nombre d'emprunts en cours du membre est décrémenté
        /// le code etat du livre repasse à D comme Disponible
        /// Il y a vérification du dépassement de la date limite ou non, dans ce cas une pénalité est exigée de 0,5 euros par jour de retard
        /// </summary>
        /// <param name="refLivreE">reférence du livre qui est rendu</param>
        /// <param name="codeM">code du membre qui rapporte le livre</param>
        /// <returns>retourne True si la suppression a ete réalisée , false sinon</returns>
        public bool RendreEmprunt(string refLivreE, string codeM)
        {
            bool   sup = false;
            int    i, posLivre;
            double penalites;

            posLivre = -1;
            TimeSpan ts;
            Emprunt  E = new Emprunt(refLivreE, codeM);

            if (lesEmprunts.Contains(E))
            {
                if (DateTime.Today > E.CalculDateLimite())
                {
                    ts        = DateTime.Now - E.CalculDateLimite();
                    penalites = ts.Days * 0.5;
                    Console.WriteLine(" Merci de rendre le livre mais vous etes en retard de " + ts.Days + "jours");
                    Console.WriteLine(" Vous aurez un pénalité de 0,5 euros par jour de retard, soit  " + penalites + " euros");
                }
                lesEmprunts.Remove(E);
                sup = true;
                // recherche de la position du Livre
                for (i = 0; i < lesLivres.Count; i++)
                {
                    if (lesLivres[i].GetRefLivre() == refLivreE)
                    {
                        posLivre = i;
                    }
                }
                lesLivres[posLivre].setEtat("D");
                int j, pos;
                pos = -1;
                // recherche de la position du membre
                for (j = 0; j < lesMembres.Count; j++)
                {
                    if (lesMembres[j].CodeMembre == codeM)
                    {
                        lesMembres[j].NbEmpruntsEnCours = lesMembres[j].NbEmpruntsEnCours - 1;
                        pos = j;
                    }
                }
            }
            else
            {
                Console.WriteLine(" cet emprunt n 'est pas présent");
                sup = false;
            }

            return(sup);
        }
示例#2
0
        /// <summary>
        /// fonction qui ajoute un emprunt pour un membre s'il na pas dépassé le nb maximun d'emprunts
        /// Le code etat du livre est passé à E
        /// Le nombre d'emprunt en cours du membre est incrementé de 1
        /// </summary>
        /// <param name="refLivreE">la reférence du livre à emprunter</param>
        /// <param name="codeM">le code du membre</param>
        /// <returns>retourne True si l'emprunt a ete effectué, false sinon</returns>
        public bool AjouterEmprunt(string refLivreE, string codeM)
        {
            bool ajoutPossible = false;
            int  i, posLivre;

            posLivre = -1;
            // recherche de la position du Livre
            for (i = 0; i < lesLivres.Count; i++)
            {
                if (lesLivres[i].GetRefLivre() == refLivreE)
                {
                    posLivre = i;
                }
            }
            int j, pos;

            pos = -1;
            // recherche de la position du membre
            for (j = 0; j < lesMembres.Count; j++)
            {
                if (lesMembres[j].CodeMembre == codeM)
                {
                    if (lesMembres[j].NbEmpruntsEnCours < lesMembres[j].NbEmpruntsMaxi)
                    {
                        pos           = j;
                        ajoutPossible = true;
                    }
                    else
                    {
                        lesMembres[j].AfficherMembre();
                        Console.WriteLine("vous etes au maximum ");
                    }
                }
            }
            if (ajoutPossible)
            {
                Emprunt E = new Emprunt(refLivreE, codeM);
                lesEmprunts.Add(E);
                lesMembres[pos].NbEmpruntsEnCours = lesMembres[pos].NbEmpruntsEnCours + 1;
                lesLivres[posLivre].setEtat("E");
            }
            return(ajoutPossible);
        }