Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
        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
            {
            }
        }