public ItemBO SelectItemByEmpruntId(EmpruntBO pEmprunt)
 {
     var itemIFacClient = new ItemIFACClient();
     return itemIFacClient.SelectByEmpruntId(CGlobalCache.SessionManager.Token, pEmprunt.EmpruntId);
 }
        public static DemandeReservationBO SelectById(int pDemandeReservationId, EmpruntBO emprunt)
        {
            DemandeReservationBO demandeReservation = null;

            try {
                using (var demandeReservationDal = new DemandeReservationDAL(Util.GetConnection())) {
                    var lstDemandeReservation = demandeReservationDal.DemandeReservationDAL_SelectById(pDemandeReservationId).ToList();
                    if (lstDemandeReservation.Count == 1){
                        demandeReservation = lstDemandeReservation[0];
                        demandeReservation.RefLivre = emprunt.Livre.RefLivre;
                        demandeReservation.Personne = emprunt.Personne;
                    }
                }
            } catch (Exception ex) {
                throw;
            }

            return demandeReservation;
        }
 private static void FillObjEmpruntBo(EmpruntBO objEmpruntBo)
 {
     objEmpruntBo.Livre = LivreBL.SelectById(objEmpruntBo.LivreId);
     if (objEmpruntBo.ClientId != null) {
         objEmpruntBo.Personne = PersonneBL.SelectById((int)objEmpruntBo.ClientId);
         objEmpruntBo.LstDemandeReservation = DemandeReservationBL.SelectByEmpruntId(objEmpruntBo.EmpruntId, objEmpruntBo.Personne, objEmpruntBo.Livre);
     } else {
         objEmpruntBo.LstDemandeReservation = DemandeReservationBL.SelectByEmpruntId(objEmpruntBo.EmpruntId, objEmpruntBo.Livre);
     }
 }
        private void LoadFicheLivre(EmpruntBO pEmpruntBo)
        {
            CreateFicheLivre();
            if (_ficheDeLivre == null){
                return;
            }

            _ficheDeLivre.SetFicheDeLivre(pEmpruntBo);

            //_actualFicheLivre = pEmpruntBo.Livre;
            /*var livreIFac = new LivreIFACClient();

            AsyncGuiFicheDeLivreSelectForClientById asyncExecute = livreIFac.SelectFicheLivreForClientByLivreId;
            try {
                asyncExecute.BeginInvoke(CGlobalCache.SessionManager.Token, CGlobalCache.SessionManager.Personne.Client.ClientId, pEmpruntBo.LivreId, xx => {
                    var samplePersDelegate = (AsyncGuiFicheDeLivreSelectForClientById)((AsyncResult)xx).AsyncDelegate;
                    _actualFicheLivre = samplePersDelegate.EndInvoke(xx);
                    _ficheDeLivre.setFicheDeLivre(_actualFicheLivre);
                    livreIFac.Close();
                }, null);
            } catch(Exception) {
                livreIFac.Close();
                MessageBox.Show(Resources.DashboardManager_loadFicheLivre_Erreur_lors_de_la_recuperation_des_informations_sur_le_livre_demande_);
            }*/
        }
        internal void SetFicheDeLivre(EmpruntBO pEmpruntBo)
        {
            lblReservationStatus.Visible = false;
            lblReservationTitle.Visible = false;

            lblTitre.Text = pEmpruntBo.Livre.RefLivre.Titre;
            webDescription.DocumentText = pEmpruntBo.Livre.RefLivre.Description;
            lblAuteurs.Text = pEmpruntBo.Livre.RefLivre.Auteur;
            lblPublication.Text = pEmpruntBo.Livre.RefLivre.Published.ToShortDateString();

            Action<String> getImage = (imageUrl) => {
                // Create a web request to the URL for the picture
                var webRequest = WebRequest.Create(imageUrl);
                // Execute the request synchronuously
                var webResponse = (HttpWebResponse)webRequest.GetResponse();

                // Create an image from the stream returned by the web request
                // ReSharper disable AssignNullToNotNullAttribute
                picBook.Image = new Bitmap(webResponse.GetResponseStream());
                // ReSharper restore AssignNullToNotNullAttribute
            };

            getImage(pEmpruntBo.Livre.RefLivre.ImageUrl);

            lblBibliotheque.Text = pEmpruntBo.Livre.Bibliotheque.ToString();

            String newDemandeReservation = "", oldDemandeReservation = "";
            foreach (var objDr in pEmpruntBo.LstDemandeReservation.OrderByDescending(xx => xx.CreatedAt)) {
                if (objDr.Valide == 1) {
                    newDemandeReservation += ((newDemandeReservation == "") ? "": "\n" ) + "Réservation depuis: " + objDr.CreatedAt.ToShortDateString();
                } else {
                    oldDemandeReservation += ((oldDemandeReservation == "") ? "": "\n" ) + "Ancienne réservation: " + objDr.CreatedAt.ToShortDateString();
                }
            }
            lblDemandeReservationStatus.Text = newDemandeReservation + "\n" + oldDemandeReservation;

            if (pEmpruntBo.State == "emp") {
                var prixTotal = (((DateTime.Now - pEmpruntBo.CreatedAt).Days < 28) ? Math.Ceiling(((double)((DateTime.Now - pEmpruntBo.CreatedAt).Days + 1)/7)) : (Math.Ceiling(((double)((DateTime.Now - pEmpruntBo.CreatedAt).Days + 1)/7)) + (Math.Ceiling(((double)(28 - ((DateTime.Now - pEmpruntBo.CreatedAt).Days + 1))/7)))));
                lblEmpruntStatus.Text = String.Format("Créé le: {0}\nJours d'emprunt restant: {1}\nMontant prévisionnel: {2:C}", pEmpruntBo.CreatedAt.ToShortDateString(), (28 - ((DateTime.Now - pEmpruntBo.CreatedAt).Days)).ToString(CultureInfo.InvariantCulture), prixTotal);
            } else if (pEmpruntBo.State == "reg") {
                lblEmpruntStatus.Text = String.Format("Date de retour le: {0}", pEmpruntBo.CreatedAt.ToShortDateString());
            } else {
                lblEmpruntStatus.Text = "";
            }
        }