public void Supprimer(int idOuvrage)
        {
            using (IUnitOfWork uow = BeginTransaction())
            {
                Ouvrage ou = depotOuvrages.Read(idOuvrage);
                if (ou == null)
                {
                    throw new Exception("Ne peut pas supprimer un ouvrage inexistant.");
                }

                List <Exemplaire> ouExemplaires = ou.Exemplaires.Where(e => !e.EstDisponible()).ToList();
                if (ouExemplaires.Count > 0)
                {
                    throw new Exception("Ne peut pas supprimer un ouvrage ayant un exemplaire en cours de pret.");
                }


                while (ou.Exemplaires.Count > 0)
                {
                    Exemplaire ex = ou.Exemplaires[0];

                    List <Pret> exPrets = depotPrets.Query().Where(p => p.Exemplaire != null && p.Exemplaire.Id == ex.Id).ToList();
                    foreach (Pret pret in exPrets)
                    {
                        pret.Exemplaire = null;
                    }

                    ou.Remove(ex);
                    depotExemplaires.Delete(ex);
                }

                depotOuvrages.Delete(ou);
                uow.Commit();
            }
        }
        public void Supprimer(int idExemplaire)
        {
            using (IUnitOfWork uow = BeginTransaction())
            {
                Exemplaire ex = depotExemplaires.Read(idExemplaire);
                if (ex == null)
                {
                    throw new Exception("Ne peut pas supprimer un exemplaire inexistant.");
                }
                if (ex.Ouvrage == null)
                {
                    throw new Exception("Ne peut pas supprimer d'exemplaire sans ouvrage");
                }
                if (!ex.EstDisponible())
                {
                    throw new Exception("Ne peut pas supprimer un exemplaire en cours de pret.");
                }

                Ouvrage ouvrage = depotOuvrages.Read(ex.Ouvrage.Id);
                if (ouvrage == null)
                {
                    throw new Exception("Ne peut pas supprimer un exemplaire dont l'ouvrage est inexistant.");
                }
                ouvrage.Remove(ex);

                depotExemplaires.Delete(ex);
                uow.Commit();
            }
        }
Beispiel #3
0
        public IHttpActionResult PostExemplaire(Exemplaire exemplaire)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Exemplaires.Add(exemplaire);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (ExemplaireExists(exemplaire.idEx))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = exemplaire.idEx }, exemplaire));
        }
Beispiel #4
0
                public ActionResult Put(int livreId,  int id,  [FromBody]  Exemplaire exemplaire)
                 {
                        if (!ModelState.IsValid  ||  exemplaire.LivreId  !=  livreId)
                         {
                                return BadRequest();
                            
            }

                        if (!Donnees.ContainsKey(livreId))
                         {
                                return NotFound();
                            
            }

                        int index  =  Donnees[livreId].FindIndex(e  =>  e.ExemplaireId  ==  id);
                        if (index  <  0)
                         {
                                return NotFound();
                            
            }

                        Donnees[livreId][index]   =  exemplaire;

                        return NoContent();
                    
        }
Beispiel #5
0
        public void TraiterEmprunt(int idAdherent, int idExemplaire)
        {
            using (IUnitOfWork uow = BeginTransaction())
            {
                Adherent adherent = depotAdherents.Read(idAdherent);
                if (adherent == null)
                {
                    throw new Exception("L'adhérent est inconnu.");
                }
                if (adherent.EstQuotaDepasse())
                {
                    throw new Exception("L'adhérent ne peut pas emprunter plus d'exemplaires.");
                }

                Exemplaire exemplaire = depotExemplaires.Read(idExemplaire);
                if (exemplaire == null)
                {
                    throw new Exception("L'exemplaire est inconnu.");
                }
                if (!exemplaire.EstDisponible())
                {
                    throw new Exception("L'exemplaire est en cours de prêt.");
                }

                adherent.Emprunte(exemplaire);

                depotAdherents.Update(adherent);
                depotExemplaires.Update(exemplaire);

                uow.Commit();
            }
        }
Beispiel #6
0
        private void btnAjoutExemplaire_Click(object sender, EventArgs e)
        {
            if (txtBox_RefExemp.Text != "" && cbbxEtatExmp.Text != "" && cbbxBdExemp.Text != "")
            {//vérifie que tout les champs sont remplis
                LivreProc  wlivreproc; wlivreproc = new LivreProc(); ExemplaireProc exemplaireproc; exemplaireproc = new ExemplaireProc();
                Exemplaire unExemplaire; int a; a = wlivreproc.Afficher_idBd_enFctionNom(cbbxBdExemp.Text); Boolean o; o = false;
                foreach (Exemplaire wExemplaire in exemplaireproc.ListExemplaire())
                {
                    if (wExemplaire.wBdEmpRef == txtBox_RefExemp.Text) //vérifie que la référence n'est pas déja définie dans la base de donnée
                    {
                        o = true;
                    }
                }
                if (o == false)                                                                // si non alors on instancie un nouvel objet puis on l'ajoute
                {
                    unExemplaire = new Exemplaire(txtBox_RefExemp.Text, cbbxEtatExmp.Text, a); //instancie un nouveau exemplaire
                    ExemplaireProc exemp;
                    exemp = new ExemplaireProc();
                    exemp.AjouterExemplaire(unExemplaire);//l'ajoute a la base
                    txtBox_RefExemp.Text = "";
                    cbbxBdExemp.Text     = "";
                    cbbxEtatExmp.Text    = "";
                }
                else
                {
                    pnlRefFaux.Visible = true;
                }
            }

            else
            {
                pnl_MsgErreurExemplaire.Visible = true;
            }
            //
        }//ajoute un exemplaire a la base
Beispiel #7
0
                public ActionResult Post(int livreId,  [FromBody]  Exemplaire exemplaire)
                 {
                        if (!ModelState.IsValid  ||  exemplaire.LivreId  !=  livreId)
                         {
                                return BadRequest();
                            
            }

                        if (!LivresController.Donnees.Any(l  =>  l.LivreId  ==  livreId))
                         {
                                return BadRequest();
                            
            }

                        var idMax  =  Donnees.Values.SelectMany(ce  =>  ce.Select(e  =>  e.ExemplaireId)).OrderByDescending(id  =>  id).FirstOrDefault();

                        exemplaire.ExemplaireId  =  idMax  +  1;

                        if (!Donnees.ContainsKey(livreId ))
                         {
                                Donnees.Add(livreId,  new List <Exemplaire>());
                            
            }
                        Donnees[livreId].Add(exemplaire);

                        return CreatedAtAction(nameof(Get),  new  {
                 id  =  exemplaire.ExemplaireId 
            },  exemplaire);
                    
        }
Beispiel #8
0
        private void btnMoins_Click(object sender, RoutedEventArgs e)
        {
            Button BoutonMoins = sender as Button;

            int index  = LstBtnMoins.IndexOf(BoutonMoins);
            int onglet = tbcDecksUtilisateurs.SelectedIndex;
            int qte;

            Exemplaire exemplaireAUpdate = RetrouverExemplaireAUpdate(LstNomExemplaire[index].Content.ToString());

            if ((int)LstQteExemplaire[index].Content <= 3 && exemplaireAUpdate.Quantite - (int)LstQteExemplaire[index].Content >= 0 && Main.UtilisateurConnecte.DecksUtilisateurs[0].CartesDuDeck.Count <= 50)
            {
                qte = (int)LstQteExemplaire[index].Content - 1;

                if (qte > 0)
                {
                    MySqlDeckService.UpdateQteExemplaireDeck(Main.UtilisateurConnecte.DecksUtilisateurs[onglet], exemplaireAUpdate, qte);
                }
                else
                {
                    MySqlDeckService.DeleteExemplaireDeck(Main.UtilisateurConnecte.DecksUtilisateurs[onglet].IdDeck, exemplaireAUpdate.IdExemplaire);
                }
            }

            RefreshAll();
        }
Beispiel #9
0
        private static void TesterPret()
        {
            Adherent adh = AdherentDAO.Instance.GetByID("A001");

            adh.Prets.SymmetricExceptWith(PretDAO.Instance.GetListePretsEncoursByIdAdherent(adh.AdherentID));
            foreach (Pret item in adh.Prets)
            {
                Console.WriteLine($"Ex : {item.IdExemplaire} ");
                Console.WriteLine($"Emprunté {(PretDAO.Instance.GetEnCoursByIDExemplaire(item.IdExemplaire)==null ? "Oui" : "Non")}");
            }
            Console.WriteLine($"Nombre prets pour {adh.Nom} : {adh.Prets.Count}");
            Console.WriteLine($"Déja Emprunté {(PretDAO.Instance.GetEnCoursByIDExemplaire(1) == null ? "Oui" : "Non")}");

            Exemplaire exemplaire = ExemplaireDAO.Instance.GetByID(3);

            exemplaire.Disponible = PretDAO.Instance.GetEnCoursByIDExemplaire(exemplaire.IdExemplaire) == null;

            Console.WriteLine($"exemplaire : {exemplaire.IdExemplaire}" +
                              $" disponible : {exemplaire.Disponible}" +
                              $" empruntable : {exemplaire.Empruntable}");
            Livre livre = LivreDAO.Instance.GetByISBN(exemplaire.ISBN);

            Console.WriteLine($"livre : {livre.ISBN}" +
                              $" titre : {livre.Titre}");
            Console.ReadLine();
        }
Beispiel #10
0
        private void buttonRetourner_Click(object sender, EventArgs e)
        {
            // TODO:
            if (exemplaires != null && exemplaires.Count > 0)
            {
                // 1. Recuperer l'identifiant de l'exemplaire selectionné
                string     selectedTxt = listBoxExemplaires.SelectedItem as string;
                Exemplaire exemplaire  = (exemplaires as List <Exemplaire>)
                                         .Find(ex => ex.ToString() == selectedTxt);
                try
                {
                    // 2. Execution du retour
                    if (exemplaire.Adherent != null)
                    {
                        exemplaire.Adherent.Retourne(exemplaire);
                    }
                    else
                    {
                        throw new Exception("Exemplaire non emprunté !");
                    }

                    // 3. Mis à jour de l'IHM
                    Actualiser();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Retour échoué", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                MessageBox.Show("Pas d'exemplaire !", "Retour échoué", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Beispiel #11
0
 private void buttonEmprunter_Click(object sender, EventArgs e)
 {
     // TODO:
     if (adherents.Count > 0 && exemplaires.Count > 0)
     {
         // 1. Recuperer l'identifiant de l'adherent selectionné
         string   selectedTxt = listBoxAdherents.SelectedItem as string;
         Adherent adherent    = adherents
                                .Find(a => a.ToString() == selectedTxt);
         // 2. Recuperer l'identifiant de l'exemplaire selectionné
         selectedTxt = listBoxExemplaires.SelectedItem as string;
         Exemplaire exemplaire = (exemplaires as List <Exemplaire>)
                                 .Find(ex => ex.ToString() == selectedTxt);
         try
         {
             // 3. Execution de l'emprunt
             adherent.Emprunte(exemplaire);
             // 4. Mis à jour de l'IHM
             Actualiser();
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, "Emprunt échoué", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         MessageBox.Show("Pas d'adhérent ou d'exemplaire !", "Emprunt échoué", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
        public ActionResult DeleteConfirmed(int id)
        {
            Exemplaire exemplaire = db.Exemplaires.Find(id);

            db.Exemplaires.Remove(exemplaire);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #13
0
 public void Modifier(Exemplaire ex)
 {
     using (IUnitOfWork uow = BeginTransaction())
     {
         depotExemplaires.Update(ex);
         uow.Commit();
     }
 }
Beispiel #14
0
 public void Supprimer(Exemplaire ex)
 {
     using (IUnitOfWork uow = BeginTransaction())
     {
         depotExemplaires.Delete(ex);
         uow.Commit();
     }
 }
Beispiel #15
0
 public void Ajouter(Exemplaire exemplaire)
 {
     using (IUnitOfWork uow = BeginTransaction())
     {
         depotExemplaires.Create(exemplaire);
         uow.Commit();
     }
 }
Beispiel #16
0
        }//A chaque lettre ajoutée dans le txtbox

        //private void datePicker_Recherche_onValueChanged(object sender, EventArgs e)
        //{
        //    unLivre = new Livre(datePicker_Recherche.Value.ToString("MM/yyyy"));
        //    unLivreProc = new LivreProc();
        //    unLivreProc.listRechercheLivre(unLivre);
        //    lbltest.Text = datePicker_Recherche.Value.ToString("MM/yyyy");

        //    dgv_RechercheLivre.DataSource = unLivreProc.Recherche_Date_Livre(unLivre);
        //    dgv_RechercheLivre.Columns[1].HeaderText = "Titre";
        //    dgv_RechercheLivre.Columns[2].HeaderText = "ISBN";
        //    dgv_RechercheLivre.Columns[3].HeaderText = "Tome";
        //    dgv_RechercheLivre.Columns[4].HeaderText = "Date publication";
        //    dgv_RechercheLivre.Columns[5].HeaderText = "Nombre de pages";
        //    dgv_RechercheLivre.Columns[6].HeaderText = "Nom de l'image";
        //    dgv_RechercheLivre.Columns[7].HeaderText = "Colorimétrie";
        //    dgv_RechercheLivre.Columns[8].HeaderText = "Commentaire";
        //    dgv_RechercheLivre.Columns[9].HeaderText = "Format";
        //    dgv_RechercheLivre.Columns[10].HeaderText = "Numéro Série";
        //    dgv_RechercheLivre.Columns[11].HeaderText = "Numéro Éditeur";
        //    dgv_RechercheLivre.Columns[12].Visible = false;



        //    dgv_RechercheLivre.Columns["wBdTitre"].DisplayIndex = 0;
        //    dgv_RechercheLivre.Columns["wBdIsbn"].DisplayIndex = 1;
        //    dgv_RechercheLivre.Columns["wBdTome"].DisplayIndex = 2;
        //    dgv_RechercheLivre.Columns["wBdParution"].DisplayIndex = 3;
        //    dgv_RechercheLivre.Columns["wBdPages"].DisplayIndex = 4;
        //    dgv_RechercheLivre.Columns["wBdImage"].DisplayIndex = 5;
        //    dgv_RechercheLivre.Columns["wBdCouleur"].DisplayIndex = 6;
        //    dgv_RechercheLivre.Columns["wBdCommentaires"].DisplayIndex = 7;
        //    dgv_RechercheLivre.Columns["wBdFormat"].DisplayIndex = 8;

        //    dgv_RechercheLivre.Columns["wBdNumSerie"].DisplayIndex = 9;
        //    dgv_RechercheLivre.Columns["wBdNumEditeur"].DisplayIndex = 10;


        //}//A chaque date ajoutée

        private void btn_RendreExemplaire_Click(object sender, EventArgs e)
        {
            Exemplaire unExemplaire;

            unExemplaire = new Exemplaire(txtBox_RefExemp.Text);
            ExemplaireProc unExemplaireProc;

            unExemplaireProc = new ExemplaireProc();
            unExemplaireProc.Supprimer_ExemplaireEmprunté(unExemplaire);
            txtBox_RefExemp.Text = "";
        }//supprime l'eexemplaire de la table emprunter
Beispiel #17
0
        private void btn_ValiderMotifEmp_Click(object sender, EventArgs e)
        {
            Exemplaire ExemplaireSuppr; ExemplaireProc ExemplaireProcSuppr; ExemplaireProcSuppr = new ExemplaireProc();

            ExemplaireSuppr = new Exemplaire(txtBox_RefExemp.Text, txtbox_motifEmp.Text);
            ExemplaireProcSuppr.SupprimerExemplaire(ExemplaireSuppr);

            txtbox_motifEmp.Text = "";
            pnl_MotifEmp.Visible = false;
            txtBox_RefExemp.Text = "";
        }//supprime l'exemplaire
        public static void UpdateQteExemplaireDeck(Deck deck, Exemplaire exemplaire, int qte)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("UPDATE DecksExemplaires ").Append("SET quantite = ").Append(qte).Append(" WHERE idDeck = ")
            .Append(deck.IdDeck).Append(" AND idExemplaire = ").Append(exemplaire.IdExemplaire);

            ConnectionBD.NonQuery(nonquery.ToString());
        }
Beispiel #19
0
        private bool TrouverExemplaireDansDeck(Exemplaire exemplaireAAjouter)
        {
            foreach (Label nomCarte in LstNomExemplaire)
            {
                if (nomCarte.Content.ToString() == exemplaireAAjouter.Carte.Nom)
                {
                    return(true);
                }
            }

            return(false);
        }
Beispiel #20
0
        private Exemplaire ChargerDonnees(SqlDataReader rd)
        {
            Exemplaire exemplaire = new Exemplaire
            {
                IdExemplaire = (int)rd["IdExemplaire"],
                ISBN         = rd["ISBN"].ToString(),
                Empruntable  = (bool)rd["Empruntable"],
                Disponible   = PretDAO.Instance.GetEnCoursByIDExemplaire((int)rd["IdExemplaire"]) == null                                //   ExemplaireDAO.Instance.Avalaible((int)rd["IdExemplaire"])
            };

            return(exemplaire);
        }
        public ActionResult Create(ApplicationModel app, int id = 0)
        {
            Exemplaire exemplaires = new Exemplaire(app);


            using (ApplicationDbContext db = new ApplicationDbContext())
            {
                exemplaires.MoyensCollection = db.Moyens.ToList();
            }

            return(View(exemplaires));
        }
        public static void InsertExemplaireDeck(Deck deck, Exemplaire exemplaireAAjouter, int quantite)
        {
            StringBuilder nonquery = new StringBuilder();

            ConnectionBD = new MySqlConnexion();

            nonquery.Append("INSERT INTO DecksExemplaires (idDeck, idExemplaire, quantite) VALUES (")
            .Append(deck.IdDeck)
            .Append(", ").Append(exemplaireAAjouter.IdExemplaire).Append(", ").Append(quantite).Append(")");

            ConnectionBD.NonQuery(nonquery.ToString());
        }
Beispiel #23
0
        private void btnEnlever_Click(object sender, RoutedEventArgs e)
        {
            Button BoutonEnlever = sender as Button;

            int index  = LstBtnEnlever.IndexOf(BoutonEnlever);
            int onglet = tbcDecksUtilisateurs.SelectedIndex;

            Exemplaire exemplaireAUpdate = RetrouverExemplaireAUpdate(LstNomExemplaire[index].Content.ToString());

            MySqlDeckService.DeleteExemplaireDeck(Main.UtilisateurConnecte.DecksUtilisateurs[onglet].IdDeck, exemplaireAUpdate.IdExemplaire);

            RefreshAll();
        }
Beispiel #24
0
        }//ajoute un exemplaire a la base

        private void btnModifExemplaire_Click(object sender, EventArgs e)//modifie un exemplaire
        {
            if (txtBox_RefExemp.Text != "" && cbbxEtatExmp.Text != "" && cbbxBdExemp.Text != "")//vérification que tout les champs sont remplis
            {
                Exemplaire unExemplaire; ExemplaireProc exemplaireProc; exemplaireProc = new ExemplaireProc();
                unExemplaire = new Exemplaire(txtBox_RefExemp.Text, cbbxEtatExmp.Text); //instancie un objet
                exemplaireProc.ModifierEtatExemplaire(unExemplaire);                    //Modifie l'objet dans la base de donnée
            }
            else
            {
                pnl_MsgErreurExemplaire.Visible = true;
            }
        }
        public void ModifierExemplaireSucces()
        {
            exemplaire1.Etat = "Test Modifier";
            serviceExemplaires.Modifier(exemplaire1.Id);

            using (ISession session = sessionFactory.OpenSession())
            {
                Exemplaire ex = session.Get <Exemplaire>(exemplaire1.Id);
                Assert.IsNotNull(ex);
                Assert.AreEqual(exemplaire1.Id, ex.Id);
                Assert.AreEqual("Test Modifier", ex.Etat);
            }
        }
Beispiel #26
0
        public void Supprimer(int idExemplaire)
        {
            using (IUnitOfWork uow = BeginTransaction())
            {
                Exemplaire exemplaire = depotExemplaires.Read(idExemplaire);

                if (exemplaire == null)
                {
                    throw new Exception("Impossible de supprimer, l'exemplaire n'a pas été trouvé !");
                }
                depotExemplaires.Delete(exemplaire);
                uow.Commit();
            }
        }
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Exemplaire exemplaire = db.Exemplaires.Find(id);

            if (exemplaire == null)
            {
                return(HttpNotFound());
            }
            return(View(exemplaire));
        }
Beispiel #28
0
 public void SetUp()
 {
     adherent = new Adherent {
         Id = 1, Nom = "Mario Rossi"
     };
     ouvrage = new Ouvrage {
         Id = 1, Titre = "Il grande Gatsby", Auteur = "F. S. Fitzgerald"
     };
     exemplaire1 = new Exemplaire {
         Id = 1, Ouvrage = ouvrage, Etat = "Nuovo"
     };
     exemplaire2 = new Exemplaire {
         Id = 2, Ouvrage = ouvrage, Etat = "Usato"
     };
 }
Beispiel #29
0
 void CreateFixtures()
 {
     adherent = new Adherent {
         Nom = "Mario Rossi"
     };
     ouvrage = new Ouvrage {
         Titre = "Il grande Gatsby", Auteur = "F. S. Fitzgerald"
     };
     exemplaire1 = new Exemplaire {
         Ouvrage = ouvrage, Etat = "Nuovo"
     };
     exemplaire2 = new Exemplaire {
         Ouvrage = ouvrage, Etat = "Usato"
     };
 }
Beispiel #30
0
 //Update the exemplaire combo box with the one selected in the grid
 private void PretDataGridView_CellClick_1(object sender, DataGridViewCellEventArgs e)
 {
     try
     {
         exemplaire = ExemplaireDAO.Instance.GetByID((int)pretDataGridView.SelectedCells[2].Value);
         exemplaireBindingSource1.DataSource = exemplaire;
     }
     catch (Exception)
     {
         //reload the list in the exmplaire combo box
         listeExemplaire = ExemplaireDAO.Instance.GetAll();
         exemplaireBindingSource1.DataSource = listeExemplaire;
         return;
     }
 }