Example #1
0
        public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            Log.Debug(TAG, "OnCreateViewHolder");
            View itemView = LayoutInflater.From(parent.Context).Inflate(Resource.Layout.telegram_user_list_item, parent, false);

            TelegramUserListItemViewHolder telegramUsersViewHolder = new TelegramUserListItemViewHolder(itemView);

            return(telegramUsersViewHolder);
        }
Example #2
0
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            Log.Debug(TAG, $"OnBindViewHolder - position:{position}");
            TelegramUserListItemViewHolder telegramUsersViewHolder = holder as TelegramUserListItemViewHolder;

            lock (DatabaseContext.DbLocker)
            {
                using (DatabaseContext db = new DatabaseContext(gs.DatabasePathBase))
                {
                    TelegramUserModel row = db.TelegramUsers.Include(x => x.LinkedUser).Skip(position).FirstOrDefault();

                    telegramUsersViewHolder.TelegramId.Text = row.TelegramId + (string.IsNullOrWhiteSpace(row.UserName) ? "" : $" (@{row.UserName})");

                    if (string.IsNullOrEmpty(row.Name))
                    {
                        telegramUsersViewHolder.TelegramFirstSecondName.Text = "<no name>";
                        telegramUsersViewHolder.TelegramFirstSecondName.SetTextColor(Color.LightGray);
                    }
                    else
                    {
                        telegramUsersViewHolder.TelegramFirstSecondName.Text = row.Name;
                        telegramUsersViewHolder.TelegramFirstSecondName.SetTextColor(Color.Black);
                    }

                    if (row.LinkedUser != null)
                    {
                        telegramUsersViewHolder.LinkedUser.Text = row.LinkedUser.Name;
                        telegramUsersViewHolder.LinkedUser.SetTextColor(Color.Black);
                    }
                    else
                    {
                        telegramUsersViewHolder.LinkedUser.Text = "< - >";
                        telegramUsersViewHolder.LinkedUser.SetTextColor(Color.Gray);
                    }

                    telegramUsersViewHolder.LinkedUser.Tag = row.Id;
                }
            }
        }