Example #1
0
        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");
            }
        }