示例#1
0
        public ActionResult Edit(FilmViewModel pFilmViewModel)
        {
            if (Request.IsAuthenticated)
            {
                try
                {
                    foreach (string inputTagName in Request.Files)
                    {
                        HttpPostedFileBase file = Request.Files[inputTagName];
                        //if (file.ContentLength > 0)
                        //{
                        //    string filePath = Path.Combine(HttpContext.Server.MapPath("../Uploads")
                        //            , Path.GetFileName(file.FileName));
                        //    file.SaveAs(filePath);
                        //}

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

                        //ImageElement image = ImageElement.FromBinary(byteArray);

                        //pFilm.Icone = buffer;
                    }

                    if (Session["ContentStreamFilm"] != null)
                    {
                        int length = (int)Session["ContentLengthFilm"];
                        string type = (string)Session["ContentTypeFilm"];
                        byte[] img = (byte[])Session["ContentStreamFilm"];

                        string fichierJaquette = @"D:\Jaymz\Images\Pochettes\DVD\" + pFilmViewModel.LeFilm.Titre + ".jpg";

                        pFilmViewModel.LeFilm.Jaquette = pFilmViewModel.LeFilm.Titre + ".jpg";

                        FileInfo fichierImage = new FileInfo(fichierJaquette);

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

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

                        Session.Remove("ContentStreamFilm");
                        Session.Remove("ContentLengthFilm");
                        Session.Remove("ContentTypeFilm");
                    }


                    //if (Session["FileName"] != null)
                    //{
                    //    //TODO : sauvegarde de l'image chargée dans un fichier ContentStreamFilm
                    //    pFilmViewModel.LeFilm.Jaquette = (String)Session["FileName"];
                    //}

                    GestionnaireFilms gestionnaireFilms = new GestionnaireFilms();
                    gestionnaireFilms.MettreAJourFilm(pFilmViewModel.LeFilm);

                    Session.Clear();

                    return RedirectToAction("Details", "Film", new { codeFilm = pFilmViewModel.LeFilm.Code });

                }
                catch (Exception ex)
                {
                    HandleErrorInfo error = new HandleErrorInfo(ex, "Film", "Edit");
                    return View("Error", error);
                }
            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
        public void MettreAJourFilmTest()
        {
            GestionnaireFilms target = new GestionnaireFilms(); // TODO: initialisez à une valeur appropriée
            Guid idFilm = new Guid("A727E383-9999-47C1-9AC8-ECADDAD634E1"); // TODO: initialisez à une valeur appropriée

            Film expected = null; // TODO: initialisez à une valeur appropriée
            Film actual;

            Film f = target.ObtenirLeFilmComplet(idFilm);

            f.Acteurs = "GIBSON";

            target.MettreAJourFilm(f);

            f = target.ObtenirLeFilmComplet(idFilm);

            Assert.AreEqual("GIBSON", f.Acteurs);
        }