title: does not implement interface member
body: <p>Hi I have the following code but I keep getting the error:</p>
  
  <p>'JsonWcfService.GetVenues' does not implement interface member 'GetVenuesByLocation(string search)'.</p>
  
  <p>I am fairly new to C and .Net so most of this is cut and paste to be honest.</p>
  
  <p>Your help would be much appreciated.</p>
  
  <p>IGetVenues.cs</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Runtime.Serialization;
  using System.ServiceModel;
  using System.Text;
  using System.ServiceModel.Web;
  
  namespace JsonWcfService
  {
      [ServiceContract]
      public interface IGetVenues
      {
          [OperationContract]
          //attribute for returning JSON format
          [WebInvoke(Method = "GET",
              ResponseFormat = WebMessageFormat.Json,
              BodyStyle = WebMessageBodyStyle.Wrapped,
              UriTemplate = "json/Venues/search={search}")]
          //method
          List&lt;Venue&gt; GetAllVenuesMethod(string search);
  
          [OperationContract]
          [WebInvoke(Method = "GET",
              ResponseFormat = WebMessageFormat.Json,
              RequestFormat = WebMessageFormat.Json,
              BodyStyle = WebMessageBodyStyle.Wrapped,
              UriTemplate = "json/Venues/location={search}")]
          List&lt;Venueloc&gt; GetVenuesByLocation(string search); 
      }
  }
  </code></pre>
  
  <p>GetVenues.svc.cs</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Linq;
  using System.Runtime.Serialization;
  using System.ServiceModel;
  using System.Text;
  using System.Data.SqlClient;
  namespace JsonWcfService
  {
      public class GetVenues : IGetVenues 
      {
          public List&lt;Venue&gt; GetAllVenuesMethod(string search)
          {
              List&lt;Venue&gt; mylist = new List&lt;Venue&gt;();
  
              using (SqlConnection conn = new SqlConnection("server=*****;database=******;Trusted_Connection=True;"))
              {
                  conn.Open();
                  string cmdStr = String.Format("Select id,name,address1,town,postcode,lon,lat from venuesearch WHERE searchterm like @searchterm");
                  SqlCommand cmd = new SqlCommand(cmdStr, conn);
                  cmd.Parameters.Add(new SqlParameter("searchterm", "%" + Convert.ToString(search) + "%"));
                  SqlDataReader rd = cmd.ExecuteReader();
                  if (rd.HasRows)
                  {
                      while (rd.Read())
                          mylist.Add(new Venue(
                              rd.GetInt32(0),
                              //rd.GetString(1),
                              rd.IsDBNull(1) ? null : rd.GetString(1),
                              //rd.GetString(2), 
                              rd.IsDBNull(2) ? null : rd.GetString(2),
                              //rd.GetString(3),
                              rd.IsDBNull(3) ? null : rd.GetString(3),
                              //rd.GetString(4)
                              rd.IsDBNull(4) ? null : rd.GetString(4),
                              //rd.GetString(4)
                              rd.IsDBNull(5) ? 0 : rd.GetDecimal(5),
                              //rd.GetString(4)
                              rd.IsDBNull(6) ? 0 : rd.GetDecimal(6)
                              ));
                  }
                  conn.Close();
              }
  
              return mylist;
          }
      }
  
      [DataContract]
  
      public class Venue
      {
          [DataMember]
          public Int32 id { get; set; }
          [DataMember]
          public string name { get; set; }
          [DataMember]
          public string address1 { get; set; }
          [DataMember]
          public string town { get; set; }
          [DataMember]
          public string postcode { get; set; }
          [DataMember]
          public Decimal lon { get; set; }
          [DataMember]
          public Decimal lat { get; set; }
          public Venue(int venid, string venname, string venaddress1, string ventown, string venpostcode, decimal venlon, decimal venlat)
          {
              id = venid;
              name = venname;
              address1 = venaddress1;
              town = ventown;
              postcode = venpostcode;
              lon = venlon;
              lat = venlat;
  
          }
  
          public List&lt;Venueloc&gt; GetVenuesByLocation(string search)
          {
              List&lt;Venueloc&gt; mylist = new List&lt;Venueloc&gt;();
  
              using (SqlConnection conn = new SqlConnection("server=***;database=******;Trusted_Connection=True;"))
              {
                  conn.Open();
                  string cmdStr = String.Format("Select id,name,address1,town,postcode,lon,lat from venuesearch WHERE searchterm like @searchterm");
                  SqlCommand cmd = new SqlCommand(cmdStr, conn);
                  cmd.Parameters.Add(new SqlParameter("searchterm", "%" + Convert.ToString(search) + "%"));
                  SqlDataReader rd = cmd.ExecuteReader();
                  if (rd.HasRows)
                  {
                      while (rd.Read())
                          mylist.Add(new Venueloc(
                              rd.GetInt32(0),
                              //rd.GetString(1),
                              rd.IsDBNull(1) ? null : rd.GetString(1),
                              //rd.GetString(2), 
                              rd.IsDBNull(2) ? null : rd.GetString(2),
                              //rd.GetString(3),
                              rd.IsDBNull(3) ? null : rd.GetString(3),
                              //rd.GetString(4)
                              rd.IsDBNull(4) ? null : rd.GetString(4),
                              //rd.GetString(4)
                              rd.IsDBNull(5) ? 0 : rd.GetDecimal(5),
                              //rd.GetString(4)
                              rd.IsDBNull(6) ? 0 : rd.GetDecimal(6)
                              ));
                  }
                  conn.Close();
              }
  
              return mylist;
          }
      }
  
      [DataContract]
  
      public class Venueloc
      {
          [DataMember]
          public Int32 id { get; set; }
          [DataMember]
          public string name { get; set; }
          [DataMember]
          public string address1 { get; set; }
          [DataMember]
          public string town { get; set; }
          [DataMember]
          public string postcode { get; set; }
          [DataMember]
          public Decimal lon { get; set; }
          [DataMember]
          public Decimal lat { get; set; }
          public Venueloc(int venid, string venname, string venaddress1, string ventown, string venpostcode, decimal venlon, decimal venlat)
          {
              id = venid;
              name = venname;
              address1 = venaddress1;
              town = ventown;
              postcode = venpostcode;
              lon = venlon;
              lat = venlat;
  
          }
      }
  }
  </code></pre>
  
  <p>The first function works but the second one doesn't.</p>