0
votes

I have a WEB API hosted on a server, there I have a Products table with Name and Description.I already checked for the postman and this is ok, when I try to implement the method in xamarin by visual studio to bring a record by its name and display in a listview I receiving the following message

Can not implicitly convert type "void"in "System.Collections.Generic.List"

    public async void GetProductByName(string Name)

       {
            var client = new HttpClient(handler);
            client.Timeout = TimeSpan.FromSeconds(120);

            txtTest.Text = 
            "http://www.ProdutosAPITest6.hostname.com/api/products";
            var URI = txtTest.Text + "/" + Name.ToString();

            var requestMessage = new HttpRequestMessage
            {
                Method = HttpMethod.Get,
                RequestUri = new Uri(URI)
            };

            var response = await client.SendAsync(requestMessage);

            if (response.IsSuccessStatusCode == true)
            {
                var products = await response.Content.ReadAsStringAsync();

                var resultModel = JsonConvert.DeserializeObject<Product> 
                (products);
                return resultModel;
            }
      }


   MY CLASS

   namespace XF_ConsumingWebAPI.Models
   {
     public class Product
     {
       public int Id { get; set; }
       public string Name { get; set; }
       public string Description { get; set; }
     }
   }

    MY LISTVIEW


     public ListView myListView { get { return ProductsList; }}

        protected override async void OnAppearing()
         {
            var name = //pass name;
            List<ProductModel> products = await GetProductByName(Name);

              if (products.Count() > 0)
               { 
                 myListView.ItemsSource = products;
               }

           base.OnAppearing();
         }


     in the line List<Produto> products = await LoadData(Name); 

     I'm receiving the following message

     Can not implicitly convert type "void" in
    "System.Collections.Generic.List<XF_ConsumingWebAPI.Models.Product>"
1

1 Answers

0
votes

Try to set ItemSource in GetproductByName function instead of returning resultModel i.e. myListView.ItemSource=resultModel