public bool IsSingleChatPresentInDB() { SingleChatDBModel model = liteDBService.ReadAllItems <SingleChatDBModel>().FirstOrDefault(t => t.ID != 0); if (model == null) { return(false); } return(true); }
private async void UpdateChatFromFirebase() { try { try { supportchatlistdetail = await FirebaseChatHelper.GetChatForUserID(user_id, recieverUserId : RecieverId); } catch (Exception ex) { supportchatlistdetail = new List <SingleChatListModel>(); } //var _sortedlist = supportchatlistdetail.OrderBy(x => x.TimeStamp).ToList(); //supportchatlistdetail = _sortedlist; if (supportchatlistdetail.Count > SupportChatList.Count) { Device.BeginInvokeOnMainThread(() => { MakeChatRead(); }); updatesupportchatlistdetail = supportchatlistdetail.Skip(SupportChatList.Count).ToList(); try { foreach (var item in updatesupportchatlistdetail) { //if (!string.IsNullOrEmpty(item.image_url) && !string.IsNullOrWhiteSpace(item.image_url)) //{ // item.displayimage_url = new UriImageSource() // { // Uri = new Uri(item.image_url), // CachingEnabled = true, // CacheValidity = new TimeSpan(5, 0, 0, 0) // }; //} AllSupportChatList.Add(item); } } catch (Exception ex) { } SupportChatList = AllSupportChatList; COUNT = SupportChatList.Count; MessagingCenter.Send("", "ScrollToEnd"); var msgItem = new SingleChatDBModel() { SingleMessageName = ChatDetailTitle, UserMessagesList = SupportChatList, RecieverId = RecieverId }; if (singleChatMessagesDbService.IsSingleChatPresentInDB()) { var newmsgItem = singleChatMessagesDbService.ReadAllItems().Where(x => x.RecieverId == RecieverId).ToList(); if (newmsgItem != null && newmsgItem.Count > 0) { var msgID = newmsgItem.FirstOrDefault().ID; msgItem.ID = msgID; BsonValue id = new BsonValue(msgID); singleChatMessagesDbService.UpdateSingleChatDataInDb(id, msgItem); } else { singleChatMessagesDbService.CreateSingleChatDataInDB(msgItem); } } else { singleChatMessagesDbService.CreateSingleChatDataInDB(msgItem); } } if (SupportChatList != null && SupportChatList.Count > 0) { DeleteChatIcon = "resource://Khadamat_CustomerApp.SvgImages.delete.svg"; } else { DeleteChatIcon = string.Empty; } } catch (Exception ex) { } }
public async void AddMessageFirebase(SingleChatListModel item) { try { if (Common.CheckConnection()) { var request = new ChatDetailModelApi() { from_user_id = user_id, to_user_id = RecieverId }; Chatdetailresponse response; try { response = await _webApiRestClient.PostAsync <ChatDetailModelApi, Chatdetailresponse>(ApiUrl.AddChatRequest, request); } catch (Exception ex) { Console.WriteLine("SendMsgApi_Exception:- " + ex.Message); response = null; IsBackPress = true; //await MaterialDialog.Instance.SnackbarAsync(message: AppResource.error_ServerError, msDuration: 3000); return; } if (response != null) { if (response.status) { MessagingCenter.Send("", "ScrollToEnd"); MessageEntry = string.Empty; var data = await FirebaseChatHelper.AddChatMessage(item); } else if (response.message == null) { MessagingCenter.Send("", "ScrollToEnd"); MessageEntry = string.Empty; var data = await FirebaseChatHelper.AddChatMessage(item); } else { await MaterialDialog.Instance.SnackbarAsync(message : response.message, msDuration : 3000); } var msgItem = new SingleChatDBModel() { SingleMessageName = ChatDetailTitle, UserMessagesList = SupportChatList, RecieverId = RecieverId }; if (singleChatMessagesDbService.IsSingleChatPresentInDB()) { var newmsgItem = singleChatMessagesDbService.ReadAllItems().Where(x => x.RecieverId == RecieverId).ToList(); if (newmsgItem != null && newmsgItem.Count > 0) { var msgID = newmsgItem.FirstOrDefault().ID; msgItem.ID = msgID; BsonValue id = new BsonValue(msgID); singleChatMessagesDbService.UpdateSingleChatDataInDb(id, msgItem); } else { singleChatMessagesDbService.CreateSingleChatDataInDB(msgItem); } } else { singleChatMessagesDbService.CreateSingleChatDataInDB(msgItem); } } IsBackPress = true; } else { await MaterialDialog.Instance.SnackbarAsync(message : AppResource.error_InternetError, msDuration : 3000); } } catch (Exception ex) { //await MaterialDialog.Instance.SnackbarAsync(message: ex.Message, // msDuration: 3000); IsBackPress = true; Console.WriteLine("SendMsgCommand_Exception:- " + ex.Message); } }
public SingleChatDBModel UpdateSingleChatDataInDb(BsonValue bsonid, SingleChatDBModel item) { return(liteDBService.UpdateItem(bsonid, item)); }
public SingleChatDBModel DeleteSingleChatItemFromDB(BsonValue id, SingleChatDBModel item) { return(liteDBService.DeleteItem(id, item)); }
public SingleChatDBModel CreateSingleChatDataInDB(SingleChatDBModel item) { return(liteDBService.CreateItem(item)); }