コード例 #1
0
        //
        // GET: /Serie/
        public ActionResult Index(int pNumeroPage)
        {
            if (Request.IsAuthenticated)
            {
                Proprietaire proprio = null;

                HttpContextWrapper httpContextWrapper = new HttpContextWrapper(System.Web.HttpContext.Current);

                if (httpContextWrapper != null && httpContextWrapper.Session["proprietaire"] != null)
                {
                    proprio = (Proprietaire)httpContextWrapper.Session["proprietaire"];
                }

                GestionnaireSeries gestionnaireSeries = new GestionnaireSeries();

                // On retourne les x premières fiches

                //numPage = 1;
                //Session["numeroPage"] = numPage;

                List<Serie> listeFiltree = ObtenirListeSeriesFiltree();

                ListeMediaViewModel model = new ListeMediaViewModel();
                model.NbPages = listeFiltree.Count / nbSeriesParPage;
                model.NbResultats = listeFiltree.Count;

                if (model.NbResultats % nbSeriesParPage > 0)
                {
                    model.NbPages++;
                }

                model.ListeSeries = (listeFiltree.Skip((pNumeroPage - 1) * nbSeriesParPage).Take(nbSeriesParPage)).ToList<Serie>();

                model.NumeroPage = pNumeroPage;

                return View(model);

            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
コード例 #2
0
        //TODO : peu performant : à revoir
        /// <summary>
        /// Filtre par propriétaire 
        /// </summary>
        /// <param name="pSerie">pSerie</param>
        /// <returns></returns>
        private bool findProprio(Serie pSerie)
        {
            if (mSelectedProprios != null)
            {
                GestionnaireSeries gestionnaireSeries = new GestionnaireSeries();
                Serie se = gestionnaireSeries.ObtenirLaSerieComplete(pSerie.Code);

                foreach (Guid p in mSelectedProprios)
                {
                    //Parcourt des exemplaires de ce Serie
                    foreach (Exemplaire el in se.ListeExemplaire)
                    {

                        if (p.Equals(el.LeProprietaire.Code))
                        {
                            return true;
                        }
                    }
                }
            }
            else
            {
                //Si rien de coché on retourne VRAI
                return true;
            }

            return false;
        }
コード例 #3
0
        public ActionResult ModifierExemplaire(MediaViewModel pMediaViewModel)
        {
            if (Request.IsAuthenticated)
            {
                try
                {
                    GestionnaireSeries gestionnaireSeries = new GestionnaireSeries();

                    gestionnaireSeries.ModifierExemplaire(
                        pMediaViewModel.Lexemplaire.Code,
                        pMediaViewModel.Lexemplaire.LeSupport.Code, 
                        pMediaViewModel.Lexemplaire.Etat.Code,
                        pMediaViewModel.DateAcquisition);

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

                }
                catch (Exception ex)
                {
                    HandleErrorInfo error = new HandleErrorInfo(ex, "Serie", "ModifierExemplaire");
                    return View("Error", error);
                }
            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
コード例 #4
0
        //Edit
        //
        // GET: /Home/ModifierExemplaire
        public ActionResult ModifierExemplaire(Guid pCodeMedia, Guid pCodeExemplaire)
        {
            if (Request.IsAuthenticated)
            {
                MediaViewModel mediaViewModel = new MediaViewModel(Modele.Constantes.EnumTypeMedia.SERIE);

                mediaViewModel.ListeProprietaire = DataManager.ListeProprietaires;
                mediaViewModel.ListeSupports = DataManager.ListeSupports;

                GestionnaireSeries gestionnaireSeries = new GestionnaireSeries();
                mediaViewModel.LaSerie = gestionnaireSeries.ObtenirLaSerieComplete(pCodeMedia);

                 mediaViewModel.Lexemplaire = mediaViewModel.LaSerie.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.LeSupport.Code = mediaViewModel.Lexemplaire.LeSupport.Code;
               
                //mediaViewModel.OldSupport.Code = expl.LeSupport.Code;

                 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");
            }
        }
コード例 #5
0
        public ActionResult Edit(MediaViewModel pMediaViewModel)
        {
            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);

                        //pSerie.Icone = buffer;
                    }

                    if (Session["ContentStreamSerie"] != null)
                    {
                        int length = (int)Session["ContentLengthSerie"];
                        string type = (string)Session["ContentTypeSerie"];
                        byte[] img = (byte[])Session["ContentStreamSerie"];

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

                        pMediaViewModel.LaSerie.Photo = pMediaViewModel.LaSerie.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("ContentStreamSerie");
                        Session.Remove("ContentLengthSerie");
                        Session.Remove("ContentTypeSerie");
                    }


                    //if (Session["FileName"] != null)
                    //{
                    //    //TODO : sauvegarde de l'image chargée dans un fichier ContentStreamSerie
                    //    pMediaViewModel.LaSerie.Photo = (String)Session["FileName"];
                    //}

                    GestionnaireSeries gestionnaireSeries = new GestionnaireSeries();
                    gestionnaireSeries.MettreAJourSerie(pMediaViewModel.LaSerie);

                    Session.Clear();

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

                }
                catch (Exception ex)
                {
                    HandleErrorInfo error = new HandleErrorInfo(ex, "Serie", "Edit");
                    return View("Error", error);
                }
            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
コード例 #6
0
        //
        // GET: /Serie/Edit/5

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

                mediaViewModel.ListeProprietaire = DataManager.ListeProprietaires;
                mediaViewModel.ListeSupports = DataManager.ListeSupports;
                mediaViewModel.ListeGenres = DataManager.ObtenirListeGenre(Modele.Constantes.EnumTypeMedia.SERIE);

                GestionnaireSeries gestionnaireSeries = new GestionnaireSeries();

                mediaViewModel.LaSerie = gestionnaireSeries.ObtenirLaSerieComplete(pCodeMedia);

                return View(mediaViewModel);

            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
コード例 #7
0
        public ActionResult CreerSaison(MediaViewModel pMediaViewModel)
        {
            if (Request.IsAuthenticated)
            {
                try
                {
                    GestionnaireSeries gestionnaireSeries = new GestionnaireSeries();

                    gestionnaireSeries.AjouterSaison(
                        pMediaViewModel.LaSerie.Code,
                        pMediaViewModel.LaSaison);

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

                }
                catch (Exception ex)
                {
                    HandleErrorInfo error = new HandleErrorInfo(ex, "Serie", "CreerSaison");
                    return View("Error", error);
                }

            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
コード例 #8
0
        //Create saison
        //
        // GET: /Home/CreerSaison
        public ActionResult CreerSaison(Guid pCodeMedia)
        {
            if (Request.IsAuthenticated)
            {
                MediaViewModel mediaViewModel = new MediaViewModel(Modele.Constantes.EnumTypeMedia.SERIE);

                mediaViewModel.ListeProprietaire = DataManager.ListeProprietaires;
                mediaViewModel.ListeSupports = DataManager.ListeSupports;
                mediaViewModel.ListeGenres = DataManager.ObtenirListeGenre(Modele.Constantes.EnumTypeMedia.SERIE);

                GestionnaireSeries gestionnaireSeries = new GestionnaireSeries();
                mediaViewModel.LaSerie = gestionnaireSeries.ObtenirLaSerieComplete(pCodeMedia);
                mediaViewModel.LaSaison = new Saison();

                mediaViewModel.LaSaison.Numero = mediaViewModel.LaSerie.ListeSaisons.Last<Saison>().Numero + 1;
                mediaViewModel.LaSaison.AnneeSortie = mediaViewModel.LaSerie.ListeSaisons.Last<Saison>().AnneeSortie + 1;
                mediaViewModel.LaSaison.NbEpisodes = mediaViewModel.LaSerie.ListeSaisons.Last<Saison>().NbEpisodes;

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

        }
コード例 #9
0
        //Create souhait
        //
        // GET: /Home/CreerExemplaire
        public ActionResult CreerSouhait(Guid pCodeMedia)
        {
            if (Request.IsAuthenticated)
            {
                MediaViewModel mediaViewModel = new MediaViewModel(Modele.Constantes.EnumTypeMedia.SERIE);

                mediaViewModel.ListeProprietaire = DataManager.ListeProprietaires;
                mediaViewModel.ListeSupports = DataManager.ListeSupports;
                mediaViewModel.ListeGenres = DataManager.ObtenirListeGenre(Modele.Constantes.EnumTypeMedia.SERIE);

                GestionnaireSeries gestionnaireSeries = new GestionnaireSeries();
                mediaViewModel.LaSerie = gestionnaireSeries.ObtenirLaSerieComplete(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");
            }

        }
コード例 #10
0
        public ActionResult Create(MediaViewModel pMediaViewModel)
        {
            if (Request.IsAuthenticated)
            {
                try
                {
                    GestionnaireSeries gestionnaireSeries = new GestionnaireSeries();
                    Serie f = null;

                    if (Request.Form["creerExemplaire"] != null)
                    {
                        //TODO : gérer l'état
                        f = gestionnaireSeries.CreerSerieEtExemplaire(pMediaViewModel.LaSerie, pMediaViewModel.LeSupport.Code, pMediaViewModel.LeProprietaire.Code, pMediaViewModel.DateAcquisition, 0);

                        //On affiche la page du Serie
                        return RedirectToAction("Details", "Serie", new { codeMedia = f.Code });
                    }
                    else if (Request.Form["creerSouhait"] != null)
                    {

                        f = gestionnaireSeries.CreerSerieEtSouhait(pMediaViewModel.LaSerie, pMediaViewModel.LeSupport.Code, pMediaViewModel.LeProprietaire.Code);

                    }

                    //On affiche la page du Serie
                    return RedirectToAction("Details", "Serie", new { codeMedia = f.Code });
                }
                catch (Exception ex)
                {
                    HandleErrorInfo error = new HandleErrorInfo(ex, "Serie", "CreerSerie");
                    return View("Error", error);
                }
            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
コード例 #11
0
        /// <summary>
        /// GET: /Serie/Details/5
        /// </summary>
        /// <param name="codeSerie">codeSerie</param>
        /// <returns></returns>
        public ActionResult Details(Guid codeMedia)
        {
            if (Request.IsAuthenticated)
            {
                GestionnaireSeries gestionnaire = new GestionnaireSeries();
                Serie se = gestionnaire.ObtenirLaSerieComplete(codeMedia);

                MediaViewModel model = new MediaViewModel(Modele.Constantes.EnumTypeMedia.SERIE);
                model.LaSerie = se;

                return View(model);
            }
            else
            {
                return RedirectToAction("LogOn", "Account");
            }
        }
コード例 #12
0
        /// <summary>
        /// ObtenirListeSeriesFiltree
        /// </summary>
        /// <returns></returns>
        private List<Serie> ObtenirListeSeriesFiltree()
        {
            mSelectedName = (String)Session["critereNomSerie"];
            mSelectedGenres = (string[])Session["critereSelectedGenres"];
            mSelectedProprios = (Guid[])Session["critereSelectedProprietaires"];

            GestionnaireSeries gestionnaireSeries = new GestionnaireSeries();
            List<Serie> liste = gestionnaireSeries.ObtenirSeries();

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

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

            return liste;

        }