Ejemplo n.º 1
0
        public void Bind(ChatUserViewModel viewModel)
        {
            _viewModel = viewModel;

            _avatar.LoadImageWithTextPlaceholder(
                viewModel.PhotoUrl,
                viewModel.Username,
                StyleHelper.Style.ChatAvatarStyles,
                x => x.Transform(new CircleTransformation()));

            _textView.Text = viewModel.Username;

            _view.Clickable = _viewModel.IsActive;

            _inactiveOverlay.Visibility  = BoolToViewStateConverter.ConvertGone(!_viewModel.IsActive);
            _onlineStatusView.Visibility = BoolToViewStateConverter.ConvertGone(_viewModel.IsOnline);

            if (_checkboxImageView != null) // reused for few layouts
            {
                _checkboxImageView.Visibility = BoolToViewStateConverter.ConvertInvisible(_viewModel.IsSelectable);

                _selectedBinding?.Detach();
                _selectedBinding = this.SetBinding(() => _viewModel.IsSelected).WhenSourceChanges(() =>
                {
                    var resId = _viewModel.IsSelected ? StyleHelper.Style.CheckedIcon : StyleHelper.Style.UnCheckedIcon;
                    _checkboxImageView.SetImageResource(resId);
                });
            }
        }
 public void Bind(ChatUserViewModel viewModel)
 {
     _viewModel = viewModel;
     _avatar.LoadImageWithTextPlaceholder(
         viewModel.PhotoUrl,
         viewModel.Username,
         StyleHelper.Style.ChatAvatarStyles,
         x => x.Transform(new CircleTransformation()));
     _textView.Text = viewModel.Username;
 }
Ejemplo n.º 3
0
        public void Joined(ChatUserViewModel user, Guid eventId)
        {
            _repository.Add(new EventorUser(user), eventId);
            _repository.AddMapping(Context.ConnectionId, user.UserId);

            // Subscribe user to the event room
            Groups.Add(Context.ConnectionId, eventId.ToString()).Wait();

            // Notice members about user connection
            Clients.Group(eventId.ToString()).joins(user, DateTime.Now);
        }
Ejemplo n.º 4
0
 public void StartWriting(ChatUserViewModel user, Guid eventId, bool started)
 {
     // Notice members about user connection
     Clients.Group(eventId.ToString()).startWriting(user, started);
 }