コード例 #1
0
        void FillPrêts()
        {
            flowLayoutPanel1.Controls.Clear();
            // Retrouver les prêts en cours du lecteur
            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");
            List <Emprunt> emprunts    = collEmprunt.Find(
                Builders <Emprunt> .Filter.And(
                    Builders <Emprunt> .Filter.Eq(a => a.idLecteur, m_lecteurId),
                    Builders <Emprunt> .Filter.Eq(a => a.etat, 1)
                    )
                ).ToList();

            foreach (Emprunt e in emprunts)
            {
                List <Notice> tmp = collNotice.Find(new BsonDocument("exemplaires._id", e.IdExemplaire)).ToList();
                if (tmp != null && tmp.Count > 0)
                {
                    ctrlPret p = new ctrlPret();
                    p.txtTitre.Text      = tmp[0].titre;
                    p.txtAuteur.Text     = tmp[0].auteur;
                    p.txtExemplaire.Text = tmp[0].exemplaires.Find(a => a._id == e.IdExemplaire).codeBarre;
                    p.txtDatepret.Text   = e.dateEmprunt.ToString("dd/MM/yyyy");
                    p.txtDateRetour.Text = e.dateRetourPrévue.ToString("dd/MM/yyyy");
                    p.Tag = tmp[0];
                    flowLayoutPanel1.Controls.Add(p);
                }
            }
        }
コード例 #2
0
        private void P_RetourEvent(ctrlPret ctrl)
        {
            // Notice notice = ctrl.Tag as Notice;
            var      collNotice   = new MongoDB.Driver.MongoClient(Properties.Settings.Default.MongoDB).GetDatabase("wfBiblio").GetCollection <Notice>("Notice");
            ObjectId exemplaireId = (ObjectId)ctrl.Tag;

            if (exemplaireId == ObjectId.Empty) // Supprimer directement
            {
                var            collEmprunt = new MongoDB.Driver.MongoClient(Properties.Settings.Default.MongoDB).GetDatabase("wfBiblio").GetCollection <Emprunt>("Emprunt");
                List <Emprunt> emprunts    = collEmprunt.Find(
                    Builders <Emprunt> .Filter.And(
                        Builders <Emprunt> .Filter.Eq(a => a.idLecteur, m_lecteur.infoLecteur._id),
                        Builders <Emprunt> .Filter.Eq(a => a.etat, 1)
                        )
                    ).ToList();
                foreach (Emprunt e in emprunts)
                {
                    List <Notice> tmp = collNotice.Find(new BsonDocument("exemplaires._id", e.IdExemplaire)).ToList();
                    if (tmp == null || tmp.Count == 0)
                    {
                        collEmprunt.UpdateOne(Builders <Emprunt> .Filter.Eq(a => a._id, emprunts[0]._id),
                                              Builders <Emprunt> .Update.Set(a => a.etat, 2).CurrentDate(a => a.dateRetourEffective));
                    }
                }
                FillPrêts();
            }
            else
            {
                List <Notice> tmp = collNotice.Find(new BsonDocument("exemplaires._id", exemplaireId)).ToList();
                if (tmp != null && tmp.Count > 0)
                {
                    txtNewExplaire.Text = tmp[0].exemplaires.Find(a => a._id == exemplaireId).codeBarre;
                    btnOK_Click(null, null);
                }
            }
        }