private async void CarregaProdutos(object sender, EventArgs e) { listaProdutos = await produto_Service.ListarAsync(); }
protected override async void OnAppearing() { base.OnAppearing(); if (string.IsNullOrEmpty(CarrinhoView.pedido.FornecedorId)) { PopuleBindings(); } eh_Distribuidor = usuarioLogado.Tipo == "Distribuidor"; if (eh_Distribuidor) { AdicionaBotaoNovoProduto(); } lblTitulo.Text = eh_Distribuidor ? "Meus Produtos" : "Lista de Produtos"; IEnumerable <Pessoa> pessoas = await pessoa_Service.ListarAsync(); IEnumerable <Produto> produtos = await produto_Service.ListarAsync(); if (eh_Distribuidor) { pessoas = pessoas.Where(p => p.Id == usuarioLogado.Id).ToList(); produtos = produtos.Where(p => p.FornecedorId == usuarioLogado.Id).ToList(); } else { pessoas = pessoas.Where(p => p.Tipo == "Distribuidor").ToList(); } var request = new GeolocationRequest(GeolocationAccuracy.Best); var mPosition = await Geolocation.GetLocationAsync(request); foreach (Produto produto in produtos) { var forn = pessoas.Where(p => p.Id == produto.FornecedorId).FirstOrDefault(); if (forn == null) { continue; } produto.FornecedorNome = forn.RazaoSocial; produto.Latitude = forn.Latitude; produto.Longitude = forn.Longitude; Location locForn = new Location(forn.Latitude, forn.Longitude); forn.Distancia = mPosition.CalculateDistance(locForn, DistanceUnits.Kilometers); produto.Distancia = $"{forn.Distancia.ToString("N4")} KMs"; produto.FotoSource = produto.FotoByte.ToImageSource(); } lvProdutos.ItemsSource = produtos; //lvProdutos.ItemsSource = new List<Produto> //{ // new Produto // { // Descricao ="Gás do bom", // Distancia = "5km", // FornecedorNome = "zé do gás", // Preco = 10.00, // }, // new Produto // { // Descricao ="Gás do bom", // Distancia = "5km", // FornecedorNome = "zé do gás", // Preco = 10.00, // }, // new Produto // { // Descricao ="Gás do bom", // Distancia = "5km", // FornecedorNome = "zé do gás", // Preco = 10.00, // }, //}; }