private void ShowCharacterTab(string character) { if (messenger.HasSubscriptionsFor <ChatViewModel.ShowTabMessage>()) { messenger.Publish(new ChatViewModel.ShowTabMessage(this) { Character = character }); } else { Navigator.Navigate <ChatViewModel, ChatViewModel.InitArgs>(new ChatViewModel.InitArgs { Character = character }); } }
public MainViewModel(IChatManager chatManager, ICharacterManager characterManager, INavigationProvider navigationProvider, IMvxMessenger messenger) : base(navigationProvider) { this.chatManager = chatManager; this.characterManager = characterManager; this.messenger = messenger; Character = Mvx.GetSingleton <CharacterViewModels>().GetCharacterViewModel(characterManager.OwnCharacter); ViewConversationCommand = new MvxCommand <string>(ShowCharacterTab); ChangeStatusCommand = new MvxCommand <Tuple <StatusEnum, string> >(tuple => chatManager.SetStatus(tuple.Item1, tuple.Item2)); ViewHomeTabCommand = new MvxCommand(() => { if (messenger.HasSubscriptionsFor <ChatViewModel.ShowTabMessage>()) { messenger.Publish(new ChatViewModel.ShowTabMessage(this)); } else { Navigator.Navigate <ChatViewModel>(); } }); }