Ejemplo n.º 1
0
        // List<Emprunt> TrouverEmpruntLecteur

        private void btnListeEmprunts_Click(object sender, EventArgs ea)
        {
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                using (StreamWriter sw = new StreamWriter(saveFileDialog1.FileName, false, Encoding.Default))
                {
                    sw.WriteLine("Groupe;Nom;Prénom;Titre;Auteur;Date Emprunt;Date Retour;Exemplaire");
                    var db         = new MongoDB.Driver.MongoClient(Properties.Settings.Default.MongoDB).GetDatabase("wfBiblio");
                    var collNotice = db.GetCollection <Notice>("Notice");

                    lecteurBindingSource.EndEdit();
                    Lecteur lecteur = ((List <Lecteur>)lecteurBindingSource.DataSource)[0];
                    foreach (InfoLecteur il in db.GetCollection <InfoLecteur>("InfoLecteur").Find(a => a.lecteurId == lecteur._id).ToList())
                    {
                        foreach (Emprunt emprunt in il.TrouverEmprunt())
                        {
                            List <Notice> tmp = collNotice.Find(new BsonDocument("exemplaires._id", emprunt.IdExemplaire)).ToList();
                            if (tmp != null && tmp.Count > 0)
                            {
                                Exemplaire ex = tmp[0].exemplaires.Find(a => a._id == emprunt.IdExemplaire);
                                sw.WriteLine($"{lecteur.titre};{il.nom};{il.prénom};{tmp[0].titre};{tmp[0].auteur};{emprunt.dateEmprunt.ToString("dd/MM/yyyy")};{emprunt.dateRetourPrévue.ToString("dd/MM/yyyy")};'{ex.codeBarre}");
                            }
                        }
                    }
                }
                System.Diagnostics.Process.Start("explorer.exe", "/select,\"" + saveFileDialog1.FileName + "\"");
            }
        }
Ejemplo n.º 2
0
 public void SetExemplaire(Exemplaire exemplaire)
 {
     exemplaireBindingSource.DataSource = new List <Exemplaire> {
         exemplaire
     };
     exemplaireBindingSource.Position = 0;
 }
Ejemplo n.º 3
0
        private void btnCirculation_Click(object sender, EventArgs e)
        {
            var collNotice  = new MongoDB.Driver.MongoClient(Properties.Settings.Default.MongoDB).GetDatabase("wfBiblio").GetCollection <Notice>("Notice");
            var collEmprunt = new MongoDB.Driver.MongoClient(Properties.Settings.Default.MongoDB).GetDatabase("wfBiblio").GetCollection <Emprunt>("Emprunt");

            // Chercher lecteur ou exemplaire emprunté
            if (txtSearchCirculation.Text.All(char.IsDigit))
            {
                List <Notice> tmp = collNotice.Find(new BsonDocument("exemplaires.codeBarre", txtSearchCirculation.Text)).ToList();
                if (tmp != null)
                {
                    if (tmp.Count == 1)
                    {
                        Exemplaire exemplaire = tmp[0].exemplaires.Find(a => a.codeBarre == txtSearchCirculation.Text);
                        if (exemplaire != null)
                        {
                            // Retrouver le lecteur concerné
                            List <Emprunt> tmp2 = collEmprunt.Find(
                                Builders <Emprunt> .Filter.And(
                                    Builders <Emprunt> .Filter.Eq(a => a.IdExemplaire, exemplaire._id),
                                    Builders <Emprunt> .Filter.Eq(a => a.etat, 1))
                                ).ToList();
                            if (tmp2 != null && tmp2.Count > 0)
                            {
                                AffichageLecteur(Lecteur.TrouverLecteurParId(tmp2[0].idLecteur));
                            }
                        }
                        else
                        {
                            MessageBox.Show("Erreur interne 1");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Il existe plusieurs exemplaires ce qui est anormal");
                    }
                }
                else
                {
                    MessageBox.Show("Cet exemplaire n'existe pas");
                }
            }
            else
            {
                // Cherche le lecteur
                List <LecteurResult> lr = Lecteur.TrouverLecteursParSearch(txtSearchCirculation.Text);
                if (lr.Count > 0)
                {
                    if (lr.Count == 1)
                    {
                        AffichageLecteur(lr[0]);
                    }
                    else
                    {
                        ctrlChoixLecteur choix = new ctrlChoixLecteur()
                        {
                            Dock = DockStyle.Fill
                        };
                        choix.Init(lr);
                        choix.ChoixLecteurEvent += Choix_ChoixLecteurEvent;
                        pnlCirculation.Controls.Clear();
                        pnlCirculation.Controls.Add(choix);
                    }
                }
                else
                {
                    pnlCirculation.Controls.Clear();
                    MessageBox.Show("Pas de lecteur à ce nom");
                }
            }
            txtSearchCirculation.SelectAll();
        }