private async void OnDelete(object sender, EventArgs e) { Mensagen mensagen = FutricaMensagensServiceEx.TodasMensagens[0]; _client.Timeout = TimeSpan.FromSeconds(Constantes.timeoutSeconds); await _client.DeleteAsync(Constantes.ApiBaseURL + "Mensagens" + "/" + mensagen.id); FutricaMensagensServiceEx.removeItem(mensagen); }
public Mensagens(Conversa conversa, int UsuarioId) { InitializeComponent(); //BindingContext = vm = new MensagensListViewModel(conversa); //BindingContext = FutricaMensagensServiceEx.TodasMensagens.Where(x=>x.ConversaId == conversa.id); this.conversa = conversa; this.UsuarioId = UsuarioId; //vm.Items.CollectionChanged += (sender, e) => //{ // var target = vm.Messages[vm.Messages.Count - 1]; // MessagesListView.ScrollTo(target, ScrollToPosition.End, true); //}; if (MessagesListView.ItemsSource == null) { FutricaMensagensServiceEx.removeAll(); MessagesListView.ItemsSource = FutricaMensagensServiceEx.TodasMensagens; } }
private async void getMensagens() { if (!ativarLoop) { return; } try { _client.Timeout = TimeSpan.FromSeconds(Constantes.timeoutSeconds); string content = await _client.GetStringAsync(Constantes.ApiBaseURL + "Mensagens" + "?ConversaId=" + conversa.id); List <Mensagen> mensagens = JsonConvert.DeserializeObject <List <Mensagen> >(content); foreach (Mensagen mensagen in mensagens) { FutricaMensagensServiceEx.addItem(mensagen); } MessagesListView.ScrollTo(mensagens[mensagens.Count - 1], ScrollToPosition.End, true); if (ativarLoop) { Device.StartTimer(TimeSpan.FromSeconds(6), () => { getMensagens(); return(true); }); } } catch (Exception) { } finally { } }