public ActionResult DetailsLivre(int id)
        {
            //Livre livre = contextLivre.FindById(id);
            WishListViewModel viewModelWL = new WishListViewModel();

            viewModelWL.book  = contextLivre.FindById(id);
            Session["idBook"] = viewModelWL.book.Id;
            Session["author"] = viewModelWL.book.Author;
            Session["title"]  = viewModelWL.book.Title;
            Session["image"]  = viewModelWL.book.Image;
            var estPresent = true;

            Session["estPresent"] = estPresent;


            int CurrentIdClient = (int)Session["Id"];

            viewModelWL.wishList = ((SQLRepositoryWishList)contextWishList).listWLbyIdClient(CurrentIdClient);

            if (viewModelWL == null)
            {
                return(HttpNotFound());
            }

            // Verif pour savoir si le livre existe deja dans

            Livre livre = ((SQLRepositoryLivre)contextLivre).finByIdWClient(id);

            if (livre.Client.Id == CurrentIdClient)
            {
                // Dans ce cas le livre m'appartient je ne peux pas faire d'échange dessus.
                ViewBag.enCours = 2;
            }
            else
            {
                EchangeLivre ech = echangeService.enCoursEchange(id, CurrentIdClient);
                int          res = 0;

                if (ech == null)
                {
                    res = 0;
                }
                else if (ech.ClientProp.Id == CurrentIdClient)
                {
                    res = 1;
                }
                else
                {
                    res = 2;
                }

                ViewBag.enCours = res;
            }


            return(View(viewModelWL));
        }
        public ActionResult CancelEchange(int livreId)
        {
            EchangeLivre ech = serviceEchange.enCoursEchange(livreId, (int)Session["Id"]);

            if (ech != null)
            {
                serviceEchange.CancelOperation(ech.Id);
            }

            return(RedirectToAction("DetailsLivre", "Categories", new { id = livreId }));
        }
        public ActionResult ProposeEchange(int livreId)
        {
            int id = (int)Session["Id"];

            EchangeLivre ech = new EchangeLivre()
            {
                ClientPropId = id, LivreEchangeId = livreId, EtatEchange = EtatEchange.Propose, DateEchangeCreation = DateTime.Now, DateEchangeEffectue = DateTime.Now
            };

            serviceEchange.EchangeBookProposition(ech);

            return(RedirectToAction("DetailsLivre", "Categories", new { id = livreId }));
        }
        public EchangeLivre enCoursEchange(int idLivre, int idClient)
        {
            EchangeLivre ech = repo.enCoursEchange(idLivre, idClient);

            return(ech);
        }
 public void EchangeBookProposition(EchangeLivre ech)
 {
     repo.EchangeBookProposition(ech);
     repo.SaveChanges();
 }