using System;
using System.Web;
using System.Collections;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Web.Services;
using System.Web.Services.Protocols;
using AjaxControlToolkit;
using System.Data;
using System.Data.SqlClient;
/// <summary>
/// Summary description for CarData
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class CarData : System.Web.Services.WebService
{
public CarData()
{
//Uncomment the following line if using designed components
//InitializeComponent();
}
[WebMethod]
public CascadingDropDownNameValue[] GetMakes(
string knownCategoryValues,
string category)
{
CarsTableAdapters.MakeTableAdapter makeAdapter =
new CarsTableAdapters.MakeTableAdapter();
Cars.MakeDataTable makes = makeAdapter.GetMakes();
List<CascadingDropDownNameValue> values =
new List<CascadingDropDownNameValue>();
foreach (DataRow dr in makes)
{
string make = (string)dr["Make"];
int makeId = (int)dr["MakeID"];
values.Add(new CascadingDropDownNameValue(
make, makeId.ToString()));
}
return values.ToArray();
}
[WebMethod]
public CascadingDropDownNameValue[] GetModelsForMake(
string knownCategoryValues,
string category)
{
StringDictionary kv =
CascadingDropDown.ParseKnownCategoryValuesString(
knownCategoryValues);
int makeId;
if (!kv.ContainsKey("Make") ||
!Int32.TryParse(kv["Make"], out makeId))
{
return null;
}
CarsTableAdapters.ModelTableAdapter makeAdapter =
new CarsTableAdapters.ModelTableAdapter();
Cars.ModelDataTable models =
makeAdapter.GetModelsForMake(makeId);
List<CascadingDropDownNameValue> values =
new List<CascadingDropDownNameValue>();
foreach (DataRow dr in models)
{
values.Add(new CascadingDropDownNameValue(
(string)dr["Model"], dr["ModelID"].ToString()));
}
return values.ToArray();
}
[WebMethod]
public CascadingDropDownNameValue[] GetColorsForModel(
string knownCategoryValues,
string category)
{
StringDictionary kv =
CascadingDropDown.ParseKnownCategoryValuesString(
knownCategoryValues);
int modelId;
if (!kv.ContainsKey("Model") ||
!Int32.TryParse(kv["Model"], out modelId))
{
return null;
}
CarsTableAdapters.ColorTableAdapter adapter =
new CarsTableAdapters.ColorTableAdapter();
Cars.ColorDataTable colorTable =
adapter.GetColorsForModel(modelId);
List<CascadingDropDownNameValue> values =
new List<CascadingDropDownNameValue>();
foreach (DataRow dr in colorTable)
{
values.Add(new CascadingDropDownNameValue(
(string)dr["Color"], dr["ColorID"].ToString()));
}
return values.ToArray();
}
Regards,