public void OnNavigatedTo(INavigationParameters parameters) { if (parameters.ContainsKey("ChatDetailTitle")) { ChatDetailTitle = (string)parameters["ChatDetailTitle"]; } if (parameters.ContainsKey("ChatDetailData")) { JobData = (JobChatModel)parameters["ChatDetailData"]; } if (JobData != null && JobData.job_Status.HasValue && (JobData.job_Status.Value == Convert.ToInt32(JobRequestEnum.Completed) || JobData.job_Status.Value == Convert.ToInt32(JobRequestEnum.Canceled) || JobData.job_Status.Value == Convert.ToInt32(JobRequestEnum.Closed) || JobData.job_Status.Value == Convert.ToInt32(JobRequestEnum.QuoteCanceled))) { IsJobCompleted = true; } else { IsJobCompleted = false; } if (groupChatMessagesDbService.IsGroupChatPresentInDB()) { var dataitem = groupChatMessagesDbService.ReadAllItems().Where(x => x.GroupJobId == JobData.job_id).ToList(); if (dataitem != null && dataitem.Count > 0) { var data = dataitem.FirstOrDefault(); AllChatDetailList = data.UserMessagesList; ChatDetailList = AllChatDetailList; MessagingCenter.Send("", "ScrollToEnd"); } } if (Common.CheckConnection()) { Device.BeginInvokeOnMainThread(() => { GetChatList(); }); Device.BeginInvokeOnMainThread(() => { MakeGroupChatRead(); }); } }
private async void ChatDetailOpen(ChatUserModel chatSelected) { if (!IsChatDetailOpen) { IsChatDetailOpen = true; //await App.Current.MainPage.Navigation.PushPopupAsync(new LoaderPopup()); if (chatSelected.job_request_id.HasValue && chatSelected.job_request_id.Value > 0) { JobChatModel jobChatModel = new JobChatModel() { job_id = chatSelected.job_request_id.HasValue ? chatSelected.job_request_id.Value : 0, job_Name = chatSelected.name, coordinator_id = chatSelected.coordinator_id.HasValue ? chatSelected.coordinator_id.Value : 0, coordinator_Name = chatSelected.coordinator_name, customer_id = chatSelected.customer_id.HasValue ? chatSelected.customer_id.Value : 0, customer_Name = chatSelected.customer_name, worker_id = chatSelected.worker_id.HasValue ? chatSelected.worker_id.Value : 0, worker_Name = chatSelected.worker_name, job_Status = chatSelected.status }; //Common.CustomNavigation(_navigation, new ChatDetailPage(chatSelected.name, jobChatModel)); var param = new NavigationParameters(); param.Add("ChatDetailTitle", chatSelected.name); param.Add("ChatDetailData", jobChatModel); await NavigationService.NavigateAsync(nameof(ChatDetailPage), param); } else { //Common.CustomNavigation(_navigation, new SupportPage(chatSelected.name, chatSelected.user_id.Value)); var param = new NavigationParameters(); param.Add("RecieverName", chatSelected.name); param.Add("RecieverId", Convert.ToInt32(chatSelected.user_id.Value)); await NavigationService.NavigateAsync(nameof(SupportPage), param); } //LoaderPopup.CloseAllPopup(); IsChatDetailOpen = false; } }