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; }
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); }
public void StartWriting(ChatUserViewModel user, Guid eventId, bool started) { // Notice members about user connection Clients.Group(eventId.ToString()).startWriting(user, started); }