using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
/// <summary>
/// Classe de negocio baseada no Xml do mercado livre
/// </summary>
public class NegocioXml
{
#region Declarações
protected string strXmlCategoria;
protected string strXmlProduto;
protected string CODSITE;
protected DataSet objXmlData;
#endregion
public NegocioXml()
{
}
/// <summary>
/// Retorna a o conteudo da chave UrlProdutos do Web.Config
/// </summary>
protected string UrlProdutos
{
get { return ConfigurationManager.AppSettings["UrlProdutos"]; }
}
/// <summary>
/// Retorna a o conteudo da chave UrlCategorias do Web.Config
/// </summary>
protected string UrlCategorias
{
get { return ConfigurationManager.AppSettings["UrlCategorias"]; }
}
/// <summary>
/// Retorna um DataTable com as lista de produtos de uma determinada categoria,
/// a partir da consulta ao Xml do Mercado livre
/// </summary>
/// <param name="IdCategoria"></param>
/// <returns></returns>
public DataTable ListaProdutos(string IdCategoria)
{
CODSITE = "MLB";
strXmlProduto = this.UrlProdutos + "?as_categ_id=" + IdCategoria + "&as_qshow=10";
objXmlData = new DataSet();
objXmlData.ReadXml(strXmlProduto);
return objXmlData.Tables["item"];
}
public DataTable ListaProdutosFiltro(string Filtro)
{
CODSITE = "MLB";
strXmlProduto = this.UrlProdutos + "?as_qshow=10&as_filtro_id=" + Filtro;
objXmlData = new DataSet();
objXmlData.ReadXml(strXmlProduto);
return objXmlData.Tables["item"];
}
/// <summary>
/// Retorna um DataView com as lista de produtos de uma determinada categoria,
/// a partir da consulta ao Xml do Mercado livre
/// </summary>
/// <param name="IdCategoria">Id da categoria pesquisada</param>
/// <returns>Um DataView com os prosutos</returns>
public DataView ListaCategorias()
{
CODSITE = "MLB";
strXmlCategoria = this.UrlCategorias + "?as_site_id=" + CODSITE + "&as_only_main=Y";
objXmlData = new DataSet();
objXmlData.ReadXml(strXmlCategoria);
return objXmlData.Tables["category"].DefaultView;
}
<appSettings>
<add key="UrlCategorias" value="http://www.mercadolivre.com.br/jm/categsXml"/>
<add key="UrlProdutos" value="http://www.mercadolivre.com.br/jm/searchXml"/>
</appSettings>
<table border="0" cellpadding="0" cellspacing="0" style="width: 100%">
<tr>
<td style="width:30%" valign="top">
<asp:GridView ID="gvCategorias" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="linkCategoria" runat="server" NavigateUrl='<%#"?id_cat=" + Eval("id")%>' ><%# Eval("name") %></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
<td valign="top">
<asp:DataList ID="dlProdutos" runat="server" RepeatColumns="2" RepeatDirection="Horizontal"
ShowFooter="False" ShowHeader="False">
<ItemTemplate>
<asp:Image ID="imgProdutos" runat="server" ImageUrl='<%#Eval("image_url")%>' />
<asp:HyperLink ID="linkProdutos" runat="server" NavigateUrl='<%#Eval("link")%>' Target="_blank">
<%#Eval("title")%>
</asp:HyperLink>
</ItemTemplate>
<ItemStyle Width="200px" HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:DataList></td>
</tr>
</table>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.CarregaCategorias();
string strIdCategoria = Request.QueryString["id_cat"];
if (strIdCategoria != "" && strIdCategoria != null)
{
this.CarregaProdutosPorCategoria(strIdCategoria);
}
}
}
protected void CarregaCategorias()
{
objXml = new NegocioXml();
gvCategorias.DataSource = objXml.ListaCategorias();
gvCategorias.DataBind();
}
protected void CarregaProdutosPorCategoria(string IdCategoria)
{
objXml = new NegocioXml();
dlProdutos.DataSource = objXml.ListaProdutos(IdCategoria);
dlProdutos.DataBind();
}
protected void CarregaProdutos24Horas()
{
objXml = new NegocioXml();
dlProdutos.DataSource = objXml.ListaProdutosFiltro("24_HS");
dlProdutos.DataBind();
}

![]() |
CodigoFonte.net » CodigoFonte.eti.br » Compre De Tudo » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010 |
Procurando Notebooks, Câmeras Digitais, iPhones?