71. Nuestro propio buscador de peliculas (9). Acabamos el buscador.
- En este capítulo del curso de programación en c# con visual studio 2017 , finalizamos nuestro proyecto consistente en crear nuestro propio buscador. Ya estamos utilizando la API que nos proporciona https://www.themoviedb.org , para realizar consultas y mostrar los resultados de una manera estructurada en pantalla.- En esta nueva entrada preparamos la aplicación para realizar peticiones al método https://developers.themoviedb.org/3/discover/movie-discover . En está ocasión este método nos devolverá las peliculas más importantes según un año que previamente elijamos y en función de los votos que haya registrada en esta página. En el video se ve en detalle lo que os cuento:
- Página Historiacine.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HistoriaCine.aspx.cs" Inherits="BuscadorWebPeliculas.HistoriaCine" MasterPageFile="~/Site.Master" %>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<div class="row">
<div style="text-align: center; margin-top:5%">
<div style="text-align: center; margin-bottom:5%">
<asp:Label runat="server" Text="Seleccione fecha:" ></asp:Label>
<asp:DropDownList runat="server" ID="cmbAnios" AutoPostBack="True">
<asp:ListItem Text="Año 1960" Value="1960"></asp:ListItem>
<asp:ListItem Text="Año 1961" Value="1961"></asp:ListItem>
<asp:ListItem Text="Año 1962" Value="1962"></asp:ListItem>
<asp:ListItem Text="Año 1963" Value="1963"></asp:ListItem>
<asp:ListItem Text="Año 1964" Value="1964"></asp:ListItem>
<asp:ListItem Text="Año 1965" Value="1965"></asp:ListItem>
<asp:ListItem Text="Año 1966" Value="1966"></asp:ListItem>
<asp:ListItem Text="Año 1967" Value="1967"></asp:ListItem>
<asp:ListItem Text="Año 1968" Value="1968"></asp:ListItem>
<asp:ListItem Text="Año 1969" Value="1969"></asp:ListItem>
<asp:ListItem Text="Año 1970" Value="1970"></asp:ListItem>
<asp:ListItem Text="Año 1971" Value="1971"></asp:ListItem>
<asp:ListItem Text="Año 1972" Value="1972"></asp:ListItem>
<asp:ListItem Text="Año 1973" Value="1973"></asp:ListItem>
<asp:ListItem Text="Año 1974" Value="1974"></asp:ListItem>
<asp:ListItem Text="Año 1975" Value="1975"></asp:ListItem>
<asp:ListItem Text="Año 1976" Value="1976"></asp:ListItem>
<asp:ListItem Text="Año 1977" Value="1977"></asp:ListItem>
<asp:ListItem Text="Año 1978" Value="1978"></asp:ListItem>
<asp:ListItem Text="Año 1979" Value="1979"></asp:ListItem>
<asp:ListItem Text="Año 1970" Value="1970"></asp:ListItem>
<asp:ListItem Text="Año 1971" Value="1971"></asp:ListItem>
<asp:ListItem Text="Año 1972" Value="1972"></asp:ListItem>
<asp:ListItem Text="Año 1973" Value="1973"></asp:ListItem>
<asp:ListItem Text="Año 1974" Value="1974"></asp:ListItem>
<asp:ListItem Text="Año 1975" Value="1975"></asp:ListItem>
<asp:ListItem Text="Año 1976" Value="1976"></asp:ListItem>
<asp:ListItem Text="Año 1977" Value="1977"></asp:ListItem>
<asp:ListItem Text="Año 1978" Value="1978"></asp:ListItem>
<asp:ListItem Text="Año 1979" Value="1979"></asp:ListItem>
<asp:ListItem Text="Año 1980" Value="1980"></asp:ListItem>
<asp:ListItem Text="Año 1981" Value="1981"></asp:ListItem>
<asp:ListItem Text="Año 1982" Value="1982"></asp:ListItem>
<asp:ListItem Text="Año 1983" Value="1983"></asp:ListItem>
<asp:ListItem Text="Año 1984" Value="1984"></asp:ListItem>
<asp:ListItem Text="Año 1985" Value="1985"></asp:ListItem>
<asp:ListItem Text="Año 1986" Value="1986"></asp:ListItem>
<asp:ListItem Text="Año 1987" Value="1987"></asp:ListItem>
<asp:ListItem Text="Año 1988" Value="1988"></asp:ListItem>
<asp:ListItem Text="Año 1989" Value="1989"></asp:ListItem>
<asp:ListItem Text="Año 1990" Value="1990"></asp:ListItem>
<asp:ListItem Text="Año 1991" Value="1991"></asp:ListItem>
<asp:ListItem Text="Año 1992" Value="1992"></asp:ListItem>
<asp:ListItem Text="Año 1993" Value="1993"></asp:ListItem>
<asp:ListItem Text="Año 1994" Value="1994"></asp:ListItem>
<asp:ListItem Text="Año 1995" Value="1995"></asp:ListItem>
<asp:ListItem Text="Año 1996" Value="1996"></asp:ListItem>
<asp:ListItem Text="Año 1997" Value="1997"></asp:ListItem>
<asp:ListItem Text="Año 1998" Value="1998"></asp:ListItem>
<asp:ListItem Text="Año 1999" Value="1999"></asp:ListItem>
<asp:ListItem Text="Año 2000" Value="2000"></asp:ListItem>
<asp:ListItem Text="Año 2001" Value="2001"></asp:ListItem>
<asp:ListItem Text="Año 2002" Value="2002"></asp:ListItem>
<asp:ListItem Text="Año 2003" Value="2003"></asp:ListItem>
<asp:ListItem Text="Año 2004" Value="2004"></asp:ListItem>
<asp:ListItem Text="Año 2005" Value="2005"></asp:ListItem>
<asp:ListItem Text="Año 2006" Value="2006"></asp:ListItem>
<asp:ListItem Text="Año 2007" Value="2007"></asp:ListItem>
<asp:ListItem Text="Año 2008" Value="2008"></asp:ListItem>
<asp:ListItem Text="Año 2009" Value="2009"></asp:ListItem>
<asp:ListItem Text="Año 2010" Value="2010"></asp:ListItem>
<asp:ListItem Text="Año 2011" Value="2011"></asp:ListItem>
<asp:ListItem Text="Año 2012" Value="2012"></asp:ListItem>
<asp:ListItem Text="Año 2013" Value="2013"></asp:ListItem>
<asp:ListItem Text="Año 2014" Value="2014"></asp:ListItem>
<asp:ListItem Text="Año 2015" Value="2015"></asp:ListItem>
<asp:ListItem Text="Año 2016" Value="2016"></asp:ListItem>
<asp:ListItem Text="Año 2017" Value="2017" Selected="True"></asp:ListItem>
<asp:ListItem Text="Año 2018" Value="2018"></asp:ListItem>
</asp:DropDownList>
</div>
<div runat="server" style="text-align: left" >
<table id="tableRes" runat="server" style="width: 100%;" enableviewstate="false">
</table>
</div>
</div>
</div>
</asp:Content>
- Código de la página Historiacine.aspx.cs:
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using Newtonsoft.Json;
using BuscadorWebPeliculas.Clases;
namespace BuscadorWebPeliculas
{
public partial class HistoriaCine : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Util u = new Util();
String resultado = String.Empty;
String rutaPeticion = ConfigurationManager.AppSettings["cartelera"].ToString();
JsonSerializerSettings ConfigJson = new JsonSerializerSettings();
ConfigJson.NullValueHandling = NullValueHandling.Ignore;
rutaPeticion += "?api_key=" + ConfigurationManager.AppSettings["claveApi"].ToString() + "&language=es-ES®ion=ES&sort_by=vote_average.desc&primary_release_year="+ cmbAnios.SelectedValue+ "&include_video=false&&vote_count.gte=50";
resultado = u.peticionAPI(rutaPeticion, "GET", null);
RespuestaSearch rest = JsonConvert.DeserializeObject<RespuestaSearch>(resultado);
pintarControles(rest);
rutaPeticion = String.Empty;
rutaPeticion = ConfigurationManager.AppSettings["cartelera"].ToString();
rutaPeticion += "?api_key=" + ConfigurationManager.AppSettings["claveApi"].ToString() + "&language=es-ES®ion=ES&sort_by=vote_average.desc&primary_release_year=" + cmbAnios.SelectedValue + "&include_video=false&&vote_count.gte=50&page=2";
resultado = u.peticionAPI(rutaPeticion, "GET", null);
rest = JsonConvert.DeserializeObject<RespuestaSearch>(resultado);
pintarControles(rest);
}
private void pintarControles(RespuestaSearch rest)
{
for (int i = 0; i < rest.results.Count; i++)
{
Image img = new Image();
img.Width = 100;
img.Height = 125;
if (rest.results[i].poster_path != String.Empty)
img.ImageUrl = "https://image.tmdb.org/t/p/w500/" + rest.results[i].poster_path;
Label l = new Label();
l.Text = "<b>"+rest.results[i].title + " Nota:" + rest.results[i].vote_average.ToString() + " Votos:" + rest.results[i].vote_count.ToString() + "</b>: " + rest.results[i].overview + "<br>";
System.Web.UI.HtmlControls.HtmlTableRow tRow = new System.Web.UI.HtmlControls.HtmlTableRow();
System.Web.UI.HtmlControls.HtmlTableCell tCell = new System.Web.UI.HtmlControls.HtmlTableCell();
System.Web.UI.HtmlControls.HtmlTableCell tCell2 = new System.Web.UI.HtmlControls.HtmlTableCell();
tCell.Controls.Add(img);
tCell2.Controls.Add(l);
tRow.Cells.Add(tCell);
tRow.Cells.Add(tCell2);
tCell2.VAlign = "TOP";
tableRes.Rows.Add(tRow);
}
}
}
}
No hay comentarios:
Publicar un comentario