// 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 + "\""); } }
public void SetExemplaire(Exemplaire exemplaire) { exemplaireBindingSource.DataSource = new List <Exemplaire> { exemplaire }; exemplaireBindingSource.Position = 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(); }