Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 15th, 2012  |  syntax: None  |  size: 2.06 KB  |  hits: 12  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. web service return anonymous object from method
  2. [WebMethod]
  3. public Object serviceForPostcode(String postCode, String type)
  4. {
  5. /**
  6. *
  7. *  create dataset to store query
  8. *  convert dataset to required return type
  9. *  create types for returned object
  10. *  
  11. *
  12. **/
  13.  
  14.     SqlDataAdapter adapter = new SqlDataAdapter();
  15.     SqlCommand cmd = new SqlCommand();
  16.     SqlConnection conn = new SqlConnection(dbConnection());
  17. /**
  18. *
  19. *              -- types--
  20. *
  21. **/
  22.     XmlDocument xmlD = new XmlDocument();
  23.     StringWriter sw = new StringWriter();
  24.     DataSet dataSet = new DataSet();
  25. /**
  26. *
  27. *
  28. **/
  29.  
  30.     // connection and query string
  31.     string dbQuery = "SELECT id, address1, address2, address3, address4, address5, post_code, country FROM paf WHERE (post_code = @postCode)";
  32.     try
  33.     {
  34.         cmd.Parameters.Add(new SqlParameter("@postcode",SqlDbType.NChar, 10)).Value = postCode.ToUpper();
  35.         cmd.CommandText = (dbQuery);
  36.         cmd.CommandType = CommandType.Text;
  37.         cmd.Connection = conn;
  38.         adapter.SelectCommand = cmd;
  39.         adapter.Fill(dataSet,"post codes");
  40.  
  41.     }
  42.     catch(Exception e)
  43.     {
  44.         System.Web.HttpContext.Current.Response.Write(e.Message);
  45.  
  46.     }
  47.     finally
  48.     {
  49.        //close database connection
  50.         conn.Close();
  51.     }
  52.     if (type.Equals("xml", StringComparison.InvariantCultureIgnoreCase))
  53.     {
  54.         return dataSet.GetXml();
  55.     }
  56.     else if (type.Equals("string", StringComparison.InvariantCultureIgnoreCase))
  57.     {
  58.  
  59.         dataSet.WriteXml(sw);
  60.         return sw.ToString();
  61.     }
  62.     else if(type.Equals("dataset",StringComparison.InvariantCultureIgnoreCase))
  63.     {
  64.         return "";
  65.     }
  66.  
  67.         return "error";
  68. }
  69.        
  70. public string serviceForPostcodeString(String postCode)
  71.  
  72. public XElement serviceForPostcodeXML(String postCode)
  73.  
  74. public DataSet serviceForPostcodeDataSet(String postCode)
  75.        
  76. public T serviceForPostcodeWrapped<T>(String postCode)
  77. {
  78.     // ... do some checking for allowed types here ...
  79.     return (T)serviceForPostcode(postCode, typeof(T).Name);
  80. }
  81.        
  82. [WebMethod]
  83. public string serviceForPostcode(String postCode, String type)