Exemple #1
0
        public ActionResult Index(string artistName, string releaseTitle)
        {
            var release = _releaseDetailsService.GetRelease(artistName, releaseTitle);

            var viewModel = new ReleaseDetailsViewModel
            {
                Release = release
            };

            return(PartialView(viewModel));
        }
        public IActionResult ReleaseDetails(string date, int gameid, int platformid)
        {
            //this assumes a non-parsable date is a url/all dates are valid and parsable
            DateTime dateParse = new DateTime();

            if (DateTime.TryParse(date, out dateParse))
            {
                return(AddGame(gameid, platformid, date));
            }

            var     html    = date + "releases/";
            HtmlWeb web     = new HtmlWeb();
            var     htmlDoc = web.Load(html);

            List <string> pageValues = new List <string>()
            {
                "name", "platform", "region", "releaseDate"
            };
            List <string> releaseDates = new List <string>();
            List <string> justDates    = new List <string>();

            var htmlNodes = htmlDoc.DocumentNode.SelectNodes("//tbody/tr/td");

            foreach (var node in htmlNodes)
            {
                if (node.Attributes.Count > 0 && pageValues.Contains(node.Attributes["data-field"].Value))
                {
                    releaseDates.Add(node.Attributes["data-field"].Value.Trim());
                    releaseDates.Add(node.InnerText.Trim());
                }
            }

            for (int i = 0; i < releaseDates.Count; i++)
            {
                if ((i + 1) % 8 == 0)
                {
                    justDates.Add(releaseDates[i]);
                }
            }

            ReleaseDetailsViewModel send = new ReleaseDetailsViewModel
            {
                GameID       = gameid,
                PlatformID   = platformid,
                ReleaseDates = justDates,
            };

            return(View(send));
        }