public void add(ChatMessage GroupMessage) { GeneralItem generalItem = new GeneralItem(); generalItem.setChatMessagearray(GroupMessage); consolidatedList.Add(generalItem); }
// Load the adapter with the data set (photo album) at construction time: public PrivateMessgeAdapter(Activity ContextActy, Dictionary <DateTime, List <ChatMessage> > PrivateMessge) { // rvmPrivateMessge = PrivateMessge.ToList(); consolidatedList = new List <ListItem>(); foreach (var item in PrivateMessge) { DateItem dateItem = new DateItem(); dateItem.setDate(item.Key.ToShortDateString()); consolidatedList.Add(dateItem); foreach (var general in item.Value) { GeneralItem generalItem = new GeneralItem(); generalItem.setChatMessagearray(general); consolidatedList.Add(generalItem); } } context = ContextActy; }
OnBindViewHolder(RecyclerView.ViewHolder holder, int position) { PrivateMessgeHolder vh = holder as PrivateMessgeHolder; switch (consolidatedList[position].getType()) { case 1: { GeneralItem GeneralItem = (GeneralItem)consolidatedList[position]; var item = GeneralItem.getChatMessagearray(); Boolean isMe = item.ContactId != Common.CommonHelper.GetUserId(); var AttachList = (item.ChatMessageId != 0) ? Repositories.ChatAttachmentRepository.GetChatAttachList(item.ChatMessageId) : new List <ChatAttachment>(); if (isMe) { vh.tv_messageRight.Text = item.MessageText; vh.message_timeRight.Text = item.MessageTime.ToLocalTime().ToString("hh:mm tt"); if (AttachList.Count > 0) { CommonHelper.SetImageOnUIImageView(vh.iv_AttachImage, AttachList.FirstOrDefault().url, context, 600, 600); vh.iv_AttachImage.SetOnClickListener(new iv_AttachImageClikLitener(item, context)); vh.ll_LinearLayoutForImageAttachRight.Visibility = ViewStates.Visible; } else { vh.ll_LinearLayoutForImageAttachRight.Visibility = ViewStates.Gone; } if (item.IsRead) { vh.iv_StatusRight.SetImageResource(Resource.Drawable.message_got_read_receipt_from_target); } else if (item.IsRecieved) { vh.iv_StatusRight.SetImageResource(Resource.Drawable.message_got_receipt_from_target); } else if (item.IsSend) { vh.iv_StatusRight.SetImageResource(Resource.Drawable.message_got_receipt_from_server); } else { vh.iv_StatusRight.SetImageResource(Resource.Drawable.pending); } vh.ll_LinearLayoutRight.Visibility = ViewStates.Visible; vh.ll_LinearLayoutLeft.Visibility = ViewStates.Gone; } else { vh.tv_messageLeft.Text = item.MessageText; vh.message_timeLeft.Text = item.MessageTime.ToLocalTime().ToString("hh:mm tt"); if (AttachList.Count > 0) { CommonHelper.SetImageOnUIImageView(vh.iv_AttachImageLeft, AttachList.FirstOrDefault().url, context, 600, 600); vh.iv_AttachImageLeft.SetOnClickListener(new iv_AttachImageLeftClikLitener(item, context)); vh.ll_LinearLayoutForImageAttachLeft.Visibility = ViewStates.Visible; } else { vh.ll_LinearLayoutForImageAttachLeft.Visibility = ViewStates.Gone; } vh.ll_LinearLayoutLeft.Visibility = ViewStates.Visible; vh.ll_LinearLayoutRight.Visibility = ViewStates.Gone; } break; } case 0: { DateViewHolder dh = holder as DateViewHolder; DateItem DateItem = (DateItem)consolidatedList[position]; var datetimedata = Convert.ToDateTime(DateItem.getDate()).ToLocalTime().Date; if (datetimedata.Date == DateTime.Now.Date) { dh.txt_Date_message.Text = "Today"; } else if (datetimedata.Date == DateTime.Now.Date.AddDays(-1)) { dh.txt_Date_message.Text = "Yesterday"; } else { dh.txt_Date_message.Text = datetimedata.ToString("MMM dd, yyyy"); } break; } } }