public string MakeUrlParameters()
{
/*
string[] parametros = new string[12];
parametros[0] = this.categoryId.ToString();
parametros[1] = this.keyword;
string s = string.Join("&", parametros);
*/
string param = string.Empty;
/* Primeiro checamos os parâmetros obrigatórios */
if (this.categoryId != 0)
param = "?categoryId=" + this.categoryId.ToString();
if (!string.IsNullOrEmpty(this.keyword))
{
if (!string.IsNullOrEmpty(param))
param += "&keyword=" + this.keyword;
else
param = "?keyword=" + this.keyword;
}
if (this.productId != 0)
param = "?productId=" + this.productId.ToString();
if (!string.IsNullOrEmpty(this.barcode))
param = "?barcode=" + this.barcode;
if (string.IsNullOrEmpty(param))
return string.Empty;
/* Agora efetuamos os filtros adicionais informados */
if (this.results != 0)
param += "&results=" + this.results;
if (this.page != 0)
param += "&page=" + this.page;
if (this.priceMin != 0.0)
param += "&priceMin=" + this.priceMin;
if (this.priceMax != 0.0)
param += "&priceMax=" + this.priceMax;
string[] validSort = new string[] { "price", "dprice", "rate", "drate", "seller", "dseller",
"installment", "dinstallment", "numberofinstallments",
"dnumberofinstallments", "trustedStore" };
if (validSort.Contains(this.sort))
param += "&sort=" + this.sort;
string[] validMedal = new string[] { "all", "diamond", "gold", "silver", "bronze" };
if (validMedal.Contains(this.medal))
param += "&medal=" + this.medal;
/* Validamos agora os filtros por localização */
if (this.coordenadasSimples.latitude != 0.00 && this.coordenadasSimples.longitude != 0.00 && this.coordenadasSimples.radius != 0.00)
{
param += "&latitude=" + this.coordenadasSimples.latitude.ToString();
param += "&longitude=" + this.coordenadasSimples.longitude.ToString();
param += "&radius=" + this.coordenadasSimples.radius.ToString();
}
else if (this.coordenadasComplexas.north != 0.00 && this.coordenadasComplexas.south != 0.00 && this.coordenadasComplexas.east != 0.00 && this.coordenadasComplexas.west != 0.00)
{
param += "&north=" + this.coordenadasComplexas.north.ToString();
param += "&south=" + this.coordenadasComplexas.south.ToString();
param += "&east=" + this.coordenadasComplexas.east.ToString();
param += "&west=" + this.coordenadasComplexas.west.ToString();
}
// Troca as vírgulas dos números decimais por pontos, que é o esperado pela API
param = param.Replace(',', '.');
return param;
}