Пример #1
0
        /// <summary>
        /// Permet d'instancier une liste de PopularModel à partir de l'id du héro
        /// </summary>
        /// <returns>une liste de popularmodel</returns>
        public static List <PopularModel> getPopularity()
        {
            MarvelRequester     r           = new MarvelRequester();
            List <PopularModel> mostPopular = new List <PopularModel>();
            SqlConnection       oConn       = new SqlConnection(@"Data Source=26R2-14\WADSQL;Initial Catalog=PokWarVelDB;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False");
            SqlCommand          oCmd;

            try
            {
                oConn.Open();
                oCmd = new SqlCommand(@"SELECT TOP 5 idHero, AVG(convert(float,rating)) as moyenne FROM Eval GROUP BY idHero ORDER BY moyenne DESC, COUNT(idHero) DESC", oConn);
                SqlDataReader oDr = oCmd.ExecuteReader();
                while (oDr.Read())
                {
                    Characters   newHero = r.GetCharacterById((long)oDr["idHero"]);
                    PopularModel pm      = new PopularModel();
                    pm.NomHero    = newHero.name;
                    pm.IdHero     = newHero.id;
                    pm.RatingHero = float.Parse(oDr["moyenne"].ToString());

                    mostPopular.Add(pm);
                }
                oConn.Close();
            }

            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }

            return(mostPopular);
        }
Пример #2
0
        public ActionResult Results(string Search = "", string page = "")
        {
            int Current = 0;

            if (page == "" || page == "-1")
            {
                ViewBag.Next = 1;
                ViewBag.Prev = -1;
                Current      = 0;
            }
            else
            {
                Current = int.Parse(page);
                if (Current > 1)
                {
                    ViewBag.Prev = Current - 1;
                }

                ViewBag.Next = Current + 1;
            }

            MarvelRequester   r    = new MarvelRequester();
            List <Characters> info = r.SearchCharacters(limit: 10, offset: Current * 10, SearchString: Search);


            ViewBag.searchword = Search;
            if (info != null && info.Count > 0)
            {
                return(View(info.Select(i => Mapper.FromMarvelToLocal(i)).ToList()));
            }
            else
            {
                return(View(new List <ResultModel>()));
            }
        }
Пример #3
0
        public ActionResult Index(string searchHero, string pageS = "", int nrPageS = 1)
        {
            long show = nrPageS * 24;

            if (pageS == "")
            {
                show = 0;
            }
            else if (pageS == "next")
            {
                ViewBag.next = nrPageS + 1;
            }
            else if (pageS == "prev" && nrPageS >= 1)
            {
                ViewBag.prev = nrPageS - 1;
            }
            MarvelRequester   r    = new MarvelRequester();
            List <Characters> info = r.SearchCharacters(limit: 24, offset: show, SearchString: searchHero);

            //filtre
            List <Characters> trouve = new List <Characters>();

            foreach (Characters item in info)
            {
                if (item.name.Contains(searchHero))
                {
                    trouve.Add(item);
                }
            }

            return(View(trouve));

            // In loc de tot foreach si return putem scrie:
            // return View(info.Where(l => l.name.Contains(searchHero)));
        }
Пример #4
0
        public ActionResult Index()
        {
            MarvelRequester   r    = new MarvelRequester();
            List <Characters> info = r.GetCharacters(limit: 100);

            return(View(info));
        }
Пример #5
0
        public ActionResult Index()
        {
            MarvelRequester   r    = new MarvelRequester();
            List <Characters> info = r.GetCharacters(limit: 100);

            //info.Where(i=>i.name=="") une requete linq

            return(View(info));
        }
Пример #6
0
        public ActionResult Results(string toLookFor)
        {
            MarvelRequester   r          = new MarvelRequester();
            List <Characters> resultList = new List <Characters>();

            resultList      = (toLookFor != "")? r.SearchCharacters(limit: 100, offset: 0, SearchString: toLookFor) : r.GetCharacters(limit: 100, offset: 0);
            ViewBag.Message = toLookFor;
            return(View(resultList));
        }
Пример #7
0
        /// <summary>
        /// The default action to HomeController.
        /// </summary>
        /// <param name="page">The page to display ( for Marvel Pagination)</param>
        /// <returns>The view Views/Home/Index.cshtml</returns>
        public ActionResult Index(string page = "")
        {
            //Si aucune page n'est transmise c'est que nous sommes sur la
            //première page donc nous ne devons pas "passer" de
            //héros avant l'affichage
            if (page == "")
            {
                //Variable de session mise à zéro
                SessionUtil.offsetGal = 0;
            }
            else
            {
                //Si je demande de retourner en arrière et que le nombre
                // de héros à "passer" est suppérieur à 12,
                //je peux donc diminuier le nombre de héros à passer de 12
                //cela permet un affichage de 12 par 12
                if (page == "prev" && SessionUtil.offsetGal > 12)
                {
                    SessionUtil.offsetGal -= 12;
                }

                //Si je demande d'avancer, je prend les 12 héros suivants
                //Remarque : idéalement, on devrait connaitre le nombre total
                // ce qui permettrait de ne pas dépasser le nombre de héros lors
                // de l'interrogation du service
                if (page == "next")
                {
                    SessionUtil.offsetGal += 12;
                }
            }

            //Création de l'objet requester permettant de dialoguer avec le service Marvel
            MarvelRequester r = new MarvelRequester();
            //Appel de la fonction permettant de récupére les héros en lui
            // transmettant le offest qui définit le début de récupération
            // 12 => les 12 premier
            // 24 ==> les 12 suivants...

            List <Characters> info = r.GetCharacters(limit: 12, offset: SessionUtil.offsetGal);



            //Retour de la vue en lui transmettant le model à utiliser
            // Comme la _Fiche accepte un model ResultModel, je
            // doit transformer l'objet Character en ResultModel avant de renvoyer vers la vue
            // je le fais via la méthode statique FromMarvelToLocal
            return(View(info.Select(s => Mapper.FromMarvelToLocal(s)).ToList()));
        }
Пример #8
0
        public ActionResult Index(string page = "", int nrPage = 1)
        {
            long show = nrPage * 24;

            if (page == "")
            {
                show = 0;
            }
            else if (page == "next")
            {
                ViewBag.next = nrPage + 1;
            }
            else if (page == "prev" && nrPage >= 1)
            {
                ViewBag.prev = nrPage - 1;
            }

            MarvelRequester   r    = new MarvelRequester();
            List <Characters> info = r.GetCharacters(limit: 24, offset: show);

            return(View(info));
        }