Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
0
 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")}";
         //}
     }
 }
Exemplo n.º 4
0
        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;
        }