public ChatUIViewModel() { apiService = new ApiService(); OnSendCommand = new Command(async() => { if (!string.IsNullOrEmpty(TextToSend)) { Travels_Conversations messag = new Travels_Conversations(); messag.Id_tm = Messages.Count; messag.Text = TextToSend; messag.User_Sender = App.User; messag.Id_Travel = travelID; messag.Id_Request = requesID; messag.Image = null; messag.MessDate = DateTime.Now.ToString("dd'-'MM'-'yyyy' 'HH':'mm':'ss"); TextToSend = string.Empty; if (!Messages.Contains(messag)) { Messages.Add(messag); await apiService.RegisterConvoMessage(messag); //await apiService.PushAsyncGeneral("*****@*****.**", "Mensaje"); } TextToSend = string.Empty; } }); }
void OnMessageDisappearing(Travels_Conversations message) { var idx = Messages.IndexOf(message); if (idx >= 6) { Device.BeginInvokeOnMainThread(() => { ShowScrollTap = true; LastMessageVisible = false; }); } }
void OnMessageAppearing(Travels_Conversations message) { var idx = Messages.IndexOf(message); if (idx <= 6) { Device.BeginInvokeOnMainThread(() => { while (DelayedMessages.Count > 0) { Messages.Insert(0, message); } ShowScrollTap = false; LastMessageVisible = true; PendingMessageCount = 0; }); } }