public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) { if (viewType == Resource.Layout.sender_message_row) { View row = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.sender_message_row, parent, false); BubbleTextView TxtMessage = row.FindViewById <BubbleTextView>(Resource.Id.TxtMessage); //TextView TxtDt = row.FindViewById<TextView>(Resource.Id.TxtMsgTime); TextView TxtName = row.FindViewById <TextView>(Resource.Id.TxtMsgSenderName); ChatsView view = new ChatsView(row) { TxtMessage = TxtMessage, //TxtTimeDate = TxtDt, TxtName = TxtName }; return(view); } else { View row = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.receiver_message_row, parent, false); BubbleTextView TxtMessage = row.FindViewById <BubbleTextView>(Resource.Id.SenderTxtMessage); TextView TxtDt = row.FindViewById <TextView>(Resource.Id.SenderTxtMsgTime); SenderChats view = new SenderChats(row) { SenderTxtMessage = TxtMessage, SenderTxtTimeDate = TxtDt, }; return(view); } }
public ActionResult Index() { Account account = (Account)Session["loggedInUser"]; ChatsView model = new ChatsView(); model.chats = chatRepo.GetAllChats(account); foreach (Chat chat in model.chats) { Message lastMessage = messageRepo.GetLastMessage(chat.Id); chat.Messages = new List <Message>(); chat.Accounts = new List <Account>(); chat.Messages.Add(lastMessage); if (chat.Account1_Id == account.Id) { chat.Accounts.Add(accountRepo.GetAccountById(chat.Account2_Id)); } else { chat.Accounts.Add(accountRepo.GetAccountById(chat.Account1_Id)); } } model.userAccount = account; return(View(model)); }
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { if (holder is ChatsView) { ChatsView chatsView = holder as ChatsView; //chatsView.TxtTimeDate.Text = items[position].DateTime; chatsView.TxtMessage.Text = items[position].Msg; CrossCloudFirestore .Current .Instance .Collection("PEOPLE") .Document(items[position].UserId) .AddSnapshotListener((value, errors) => { if (value.Exists) { var user = value.ToObject <AppUsers>(); chatsView.TxtName.Text = $"{user.Name} {user.Surname}"; } }); //if(items[position].Date_Time.Date ==DateTime.Now.Date) //{ // chatsView.TxtName.Text = $"{items[position].SenderName} 📅 today {items[position].Date_Time.ToString("HH:mm tt")}" ; //} //else //{ // chatsView.TxtName.Text = $"{items[position].SenderName} 📅({items[position].Date_Time.ToString("ddd, dd/MMM/yyyy HH:mm tt")})"; //} } else { SenderChats senderView = holder as SenderChats; senderView.SenderTxtMessage.Text = items[position].Msg; //senderView.SenderTxtTimeDate.Text = items[position].Date_Time.; //if (items[position].Date_Time.Date == DateTime.Now.Date) //{ senderView.SenderTxtTimeDate.Text = $"📅Me"; //} //else //{ // senderView.SenderTxtTimeDate.Text = $"📅{items[position].Date_Time.ToString("ddd, dd/MMM/yyyy HH:mm tt")}"; //} } }
private void Initialize() { if (Chats == null) { Chats = new ObservableCollection <IChat>(); } imageService = _generalDataService.GetService(SettingsRegistry.ServiceTitleImageSaver); ImageServiceConfig = imageService.Config; StatusToImagePath = ImageServiceConfig.GetParameterValue("FilenameStatus") as string; ChatsView = CollectionViewSource.GetDefaultView(Chats) as ListCollectionView; ChatsView.CustomSort = new SortViewerCount(); _dataService.ChatStatusHandler = (chat) => { UI.Dispatch(() => { Chats.RemoveAll(item => item.ChatName == chat.ChatName); if (chat.Enabled == true) { Chats.Add(chat); chat.Status.PropertyChanged += (o, e) => { if (ImageServiceConfig.Enabled) { IsNeedSave = true; IsNeedSave = false; } }; } if (ChatsView.NeedsRefresh) { ChatsView.Refresh(); } }); }; AppConfig = Ubiquitous.Default.Config.AppConfig; }