public ActionResult Edit(MediaViewModel pMediaViewModel)
        {
            if (Request.IsAuthenticated)
            {
                try
                {
                    foreach (string inputTagName in Request.Files)
                    {
                        HttpPostedFileBase file = Request.Files[inputTagName];

                        byte[] buffer = new byte[file.ContentLength];
                        file.InputStream.Read(buffer, 0, file.ContentLength);
                    }

                    if (Session["ContentStreamJeu"] != null)
                    {
                        int length = (int)Session["ContentLengthJeu"];
                        string type = (string)Session["ContentTypeJeu"];
                        byte[] img = (byte[])Session["ContentStreamJeu"];

                        string fichierPhoto = @"D:\Jaymz\Images\Pochettes\DVD\" + pMediaViewModel.LeJeu.Titre + ".jpg";

                        pMediaViewModel.LeJeu.Photo = pMediaViewModel.LeJeu.Titre + ".jpg";

                        FileInfo fichierImage = new FileInfo(fichierPhoto);

                        if (fichierImage.Exists)
                        {
                            fichierImage.Delete();
                        }

                        using (Image image = Image.FromStream(new MemoryStream(img)))
                        {
                            image.Save(fichierPhoto, ImageFormat.Jpeg);  // Or Png
                        }

                        Session.Remove("ContentStreamJeu");
                        Session.Remove("ContentLengthJeu");
                        Session.Remove("ContentTypeJeu");
                    }

                    GestionnaireJeux gestionnaireJeux = new GestionnaireJeux();

                    pMediaViewModel.LeJeu.Developpeur.Nom = pMediaViewModel.Developpeur;
                    pMediaViewModel.LeJeu.Editeur.Nom = pMediaViewModel.Editeur;
                    Machine machine = DataManager.ListeMachines.Find(item => item.Nom.ToLower().Equals(pMediaViewModel.LeJeu.LaMachine.Nom.ToLower()));

                    pMediaViewModel.LeJeu.LaMachine = machine;

                    gestionnaireJeux.MettreAJourJeu(pMediaViewModel.LeJeu);

                    Session.Clear();

                    return RedirectToAction("Details", "Jeu", new { codeMedia = pMediaViewModel.LeJeu.Code });

                }
                catch (Exception ex)
                {
                    HandleErrorInfo error = new HandleErrorInfo(ex, "Jeu", "Edit");
                    return View("Error", error);
                }
            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
        /// <summary>
        /// Filtre par propriétaire 
        /// </summary>
        /// <param name="pFilm">pFilm</param>
        /// <returns></returns>
        private bool findProprio(Media pMedia)
        {
            if (mSelectedProprios != null)
            {
                GestionnaireJeux gestionnaire = new GestionnaireJeux();
                Media m = gestionnaire.ObtenirLeJeuComplet(pMedia.Code);

                foreach (Guid p in mSelectedProprios)
                {
                    //Parcourt des exemplaires de ce film
                    foreach (Exemplaire el in m.ListeExemplaire)
                    {
                        if (p.Equals(el.LeProprietaire.Code))
                        {
                            return true;
                        }
                    }
                }
            }
            else
            {
                //Si rien de coché on retourne VRAI
                return true;
            }

            return false;
        }
        public ActionResult CreerSouhait(MediaViewModel pMediaViewModel)
        {
            if (Request.IsAuthenticated)
            {
                try
                {
                   
                    GestionnaireJeux gestionnaireJeux = new GestionnaireJeux();

                    gestionnaireJeux.AjouterSouhaitAchat(pMediaViewModel.LeJeu.Code, pMediaViewModel.LeProprietaire.Code);

                    //On affiche la page du jeu
                    return RedirectToAction("Details", "Jeu", new { codeMedia = pMediaViewModel.LeJeu.Code });
                }
                catch (Exception ex)
                {
                    HandleErrorInfo error = new HandleErrorInfo(ex, "Jeu", "CreerSouhait");
                    return View("Error", error);
                }

            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
        //
        // GET: /Jeu/Edit/5

        public ActionResult Edit(Guid pCodeMedia)
        {
            if (Request.IsAuthenticated)
            {
                MediaViewModel mediaViewModel = new MediaViewModel(Modele.Constantes.EnumTypeMedia.JEU);
                //GestionnaireProprietaires gestionnaireProprietaires = new GestionnaireProprietaires();

                mediaViewModel.ListeProprietaire = DataManager.ListeProprietaires;
                mediaViewModel.ListeGenres = DataManager.ObtenirListeGenre(Modele.Constantes.EnumTypeMedia.JEU);
                mediaViewModel.ListeEtatsMedia = DataManager.ListeEtatsMedia;

                GestionnaireJeux gestionnaireJeux = new GestionnaireJeux();

                mediaViewModel.LeJeu = gestionnaireJeux.ObtenirLeJeuComplet(pCodeMedia);
                mediaViewModel.Developpeur = mediaViewModel.LeJeu.Developpeur.Nom;
                mediaViewModel.Editeur = mediaViewModel.LeJeu.Editeur.Nom;

                return View(mediaViewModel);

            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
        public ActionResult ModifierExemplaire(MediaViewModel pMediaViewModel)
        {
            if (Request.IsAuthenticated)
            {
                try
                {
                    GestionnaireJeux gestionnaireJeux = new GestionnaireJeux();
                   
                    gestionnaireJeux.ModifierExemplaire(
                        pMediaViewModel.Lexemplaire.Code,
                        pMediaViewModel.Lexemplaire.Etat.Code, 
                        pMediaViewModel.DateAcquisition);

                    //On affiche la page du jeu
                    return RedirectToAction("Details", "Jeu", new { codeMedia = pMediaViewModel.LeJeu.Code });

                }
                catch (Exception ex)
                {
                    HandleErrorInfo error = new HandleErrorInfo(ex, "Jeu", "ModifierExemplaire");
                    return View("Error", error);
                }
            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
        ////Create depuis la liste des fiches trouvées dans Allocine
        ////
        //// GET: /Home/CreerEmprunt
        //public ActionResult CreerEmprunt(Guid pCodeMedia, Guid pCodeExemplaire)
        //{
        //    if (Request.IsAuthenticated)
        //    {
        //        MediaViewModel mediaViewModel = new MediaViewModel(Modele.Constantes.EnumTypeMedia.JEU);

        //        mediaViewModel.ListeProprietaire = DataManager.ListeProprietaires;
        //        //mediaViewModel.ListeSupports = DataManager.ListeSupports;
        //        //mediaViewModel.ListeGenres = DataManager.ListeGenre;

        //        GestionnaireJeux gestionnaireJeux = new GestionnaireJeux();
        //        mediaViewModel.LeJeu = gestionnaireJeux.ObtenirLeJeuComplet(pCodeMedia);

        //        mediaViewModel.Lexemplaire = mediaViewModel.LeJeu.ListeExemplaire.Find(item => item.Code == pCodeExemplaire);

        //        mediaViewModel.LeProprietaire = mediaViewModel.Lexemplaire.LeProprietaire;
      
        //        return View(mediaViewModel);

        //    }
        //    else
        //    {
        //        return RedirectToAction("LogOn", "Account");
        //    }
        //}

        ////
        //// POST: /Home/CreerExemplaire

        //[HttpPost]
        //public ActionResult CreerEmprunt(MediaViewModel pMediaViewModel)
        //{
        //    if (Request.IsAuthenticated)
        //    {
        //        try
        //        {
        //            GestionnaireJeux gestionnaireJeux = new GestionnaireJeux();

        //            gestionnaireJeux.AjouterEmprunt(
        //                pMediaViewModel.Lexemplaire.Code, 
        //                pMediaViewModel.Lemprunteur);

        //            //On affiche la page du jeu
        //            return RedirectToAction("Details", "Jeu", new { codeJeu = pMediaViewModel.LeJeu.Code });

        //        }
        //        catch (Exception ex)
        //        {
        //            HandleErrorInfo error = new HandleErrorInfo(ex, "Jeu", "CreerExemplaire");
        //            return View("Error", error);
        //        }
        //    }
        //    else
        //    {
        //        return RedirectToAction("LogOn", "Account");
        //    }
        //}

        ////Create depuis la liste des fiches trouvées dans Allocine
        ////
        //// GET: /Home/CreerEmprunt
        //public ActionResult CloreEmprunt(Guid pCodeMedia, Guid pCodeEmprunt)
        //{
        //    if (Request.IsAuthenticated)
        //    {
        //        ///MediaViewModel mediaViewModel = new MediaViewModel(Modele.Constantes.EnumTypeMedia.JEU);

        //        //mediaViewModel.ListeProprietaire = DataManager.ListeProprietaires;
        //        //mediaViewModel.ListeSupports = DataManager.ListeSupports;
        //        //mediaViewModel.ListeGenres = DataManager.ListeGenre;

        //        GestionnaireJeux gestionnaireJeux = new GestionnaireJeux();
        //        if (gestionnaireJeux.CloreEmprunt(pCodeEmprunt))
        //        {
        //            //return View("Details", pCodeMedia);
        //            return RedirectToAction("Details", "Jeu", new { codeJeu = pCodeMedia });

        //        }
        //        else
        //        {
        //            //Message d'erreur ?
        //            return RedirectToAction("Details", "Jeu", new { codeJeu = pCodeMedia });
        //        }

        //    }
        //    else
        //    {
        //        return RedirectToAction("LogOn", "Account");
        //    }
        //}

        //Create souhait
        //
        // GET: /Home/CreerExemplaire
        public ActionResult CreerSouhait(Guid pCodeMedia)
        {
            if (Request.IsAuthenticated)
            {
                MediaViewModel mediaViewModel = new MediaViewModel(Modele.Constantes.EnumTypeMedia.JEU);

                mediaViewModel.ListeProprietaire = DataManager.ListeProprietaires;
                mediaViewModel.ListeGenres = DataManager.ObtenirListeGenre(Modele.Constantes.EnumTypeMedia.JEU);
                mediaViewModel.ListeEtatsMedia = DataManager.ListeEtatsMedia;

                GestionnaireJeux gestionnaireJeux = new GestionnaireJeux();
                mediaViewModel.LeJeu = gestionnaireJeux.ObtenirLeJeuComplet(pCodeMedia);

                //Sélection du propriétaire par défaut pour la création du souhait
                mediaViewModel.LeProprietaire.Code = mediaViewModel.ListeProprietaire.Find(
                    item => item.Login.Equals(System.Web.HttpContext.Current.User.Identity.Name)).Code;

                return View(mediaViewModel);

            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }

        }
        //Edit
        //
        // GET: /Home/ModifierExemplaire
        public ActionResult ModifierExemplaire(Guid pCodeMedia, Guid pCodeExemplaire, int pCodeEtat)
        {
            if (Request.IsAuthenticated)
            {
                MediaViewModel mediaViewModel = new MediaViewModel(Modele.Constantes.EnumTypeMedia.JEU);

                mediaViewModel.ListeProprietaire = DataManager.ListeProprietaires;
                mediaViewModel.ListeEtatsMedia = DataManager.ListeEtatsMedia;

                GestionnaireJeux gestionnaireJeux = new GestionnaireJeux();
                mediaViewModel.LeJeu = gestionnaireJeux.ObtenirLeJeuComplet(pCodeMedia);

                mediaViewModel.Lexemplaire = mediaViewModel.LeJeu.ListeExemplaire.Find(item => item.Code == pCodeExemplaire);

                //Sélection du propriétaire par défaut pour la création de l'exemplaire
                //mediaViewModel.LeProprietaire.Code = mediaViewModel.Lexemplaire.LeProprietaire.Code;
                //mediaViewModel.Etat.Code = pCodeEtat;

                if (mediaViewModel.Lexemplaire.DateAcquisition.Equals(new DateTime()))
                {
                    mediaViewModel.DateAcquisition = DateTime.Now;
                } else {
                    mediaViewModel.DateAcquisition = mediaViewModel.Lexemplaire.DateAcquisition;
                }

                return View(mediaViewModel);

            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
        public ActionResult Create(MediaViewModel pMediaViewModel)
        {
            if (Request.IsAuthenticated)
            {
                try
                {
                    GestionnaireJeux gestionnaireJeux = new GestionnaireJeux();
                    Jeu f = null;

                    if (Request.Form["creerExemplaire"] != null)
                    {
                        pMediaViewModel.LeJeu.Developpeur.Nom = pMediaViewModel.Developpeur;
                        pMediaViewModel.LeJeu.Editeur.Nom = pMediaViewModel.Editeur;

                        f = gestionnaireJeux.CreerJeuEtExemplaire(pMediaViewModel.LeJeu, pMediaViewModel.LeProprietaire.Code, pMediaViewModel.Etat, pMediaViewModel.DateAcquisition);

                        //On affiche la page du jeu
                        return RedirectToAction("Details", "Jeu", new { codeMedia = f.Code });
                    }
                    else if (Request.Form["creerSouhait"] != null)
                    {
                        f = gestionnaireJeux.CreerJeuEtSouhait(pMediaViewModel.LeJeu, pMediaViewModel.LeProprietaire.Code);
                    }

                    //On affiche la page du jeu
                    return RedirectToAction("Details", "Jeu", new { codeMedia = f.Code });
                }
                catch (Exception ex)
                {
                    HandleErrorInfo error = new HandleErrorInfo(ex, "Jeu", "CreerJeu");
                    return View("Error", error);
                }
            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
        /// <summary>
        /// GET: /Jeu/Details/5
        /// </summary>
        /// <param name="codeMedia">codeMedia</param>
        /// <returns></returns>
        public ActionResult Details(Guid codeMedia)
        {
            if (Request.IsAuthenticated)
            {
                GestionnaireJeux gestionnaireJeux = new GestionnaireJeux();
                Jeu j = gestionnaireJeux.ObtenirLeJeuComplet(codeMedia);

                MediaViewModel model = new MediaViewModel(Modele.Constantes.EnumTypeMedia.JEU);
                model.LeJeu = j;

                return View(model);
            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
Beispiel #10
0
        /// <summary>
        /// ObtenirListeJeuxFiltree
        /// </summary>
        /// <returns></returns>
        private List<Jeu> ObtenirListeJeuxFiltree()
        {
            mSelectedName = (String)Session["critereNomJeu"];
            mSelectedGenres = (string[])Session["critereSelectedGenres"];
            mSelectedMachines = (string[])Session["critereSelectedMachines"];
            mSelectedProprios = (Guid[])Session["critereSelectedProprietaires"];

            GestionnaireJeux gestionnaireJeux = new GestionnaireJeux();
            List<Jeu> liste = gestionnaireJeux.ObtenirJeux();

            if (!String.IsNullOrEmpty(mSelectedName))
            {
                liste = liste.FindAll(findName);
            }

            liste = liste.FindAll(findGenre);
            liste = liste.FindAll(findMachine);
            liste = liste.FindAll(findProprio);

            return liste;

        }
        //Create Emprunt
        //
        // GET: /Home/CreerEmprunt
        public ActionResult CreerEmprunt(Guid pCodeMedia, Guid pCodeExemplaire, MediaGestion.Modele.Constantes.EnumTypeMedia pTypeMedia)
        {
            if (Request.IsAuthenticated)
            {

                GestionnaireMedias gestionnaireMedias = new GestionnaireMedias();
   
                MediaViewModel mediaViewModel = null;

                switch (pTypeMedia)
                {
                    case MediaGestion.Modele.Constantes.EnumTypeMedia.TOUT:
                        break;
                    case MediaGestion.Modele.Constantes.EnumTypeMedia.FILM:
                        mediaViewModel = new MediaViewModel(Modele.Constantes.EnumTypeMedia.FILM);

                        GestionnaireFilms gestionnaireFilms = new GestionnaireFilms();
                        mediaViewModel.LeFilm = gestionnaireFilms.ObtenirLeFilmComplet(pCodeMedia);


                        break;
                    case MediaGestion.Modele.Constantes.EnumTypeMedia.JEU:
                        mediaViewModel = new MediaViewModel(Modele.Constantes.EnumTypeMedia.JEU);

                        GestionnaireJeux gestionnaireJeux = new GestionnaireJeux();
                        mediaViewModel.LeJeu = gestionnaireJeux.ObtenirLeJeuComplet(pCodeMedia);

                        break;
                    default:
                        break;
                }

                mediaViewModel.ListeProprietaire = DataManager.ListeProprietaires;

                mediaViewModel.Lexemplaire = mediaViewModel.LeMedia.ListeExemplaire.Find(item => item.Code == pCodeExemplaire);

                mediaViewModel.LeProprietaire = mediaViewModel.Lexemplaire.LeProprietaire;
                mediaViewModel.LeSupport = mediaViewModel.Lexemplaire.LeSupport;

                return View(mediaViewModel);
          
            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }