private void OpenGlobalCommandExecute(UserViewModel user) { NavigationService.Navigate(ViewLocator.SendRequest, user); }
private async Task OpenLocalCommandExecute(UserViewModel user) { var dialogsManager = ServiceLocator.Locator.Get<IDialogsManager>(); var userDialog = dialogsManager.Dialogs.FirstOrDefault(d => d.DialogType == DialogType.Private && d.OccupantIds.Contains(user.UserId)); if (userDialog != null) { NavigationService.Navigate(ViewLocator.Chat, new ChatNavigationParameter { Dialog = userDialog }); } else { var response = await QuickbloxClient.ChatClient.CreateDialogAsync(user.FullName, DialogType.Private, user.UserId.ToString()); if (response.StatusCode == HttpStatusCode.Created) { var dialogVm = DialogViewModel.FromDialog(response.Result); dialogVm.Image = user.Image; dialogVm.PrivatePhotoId = user.ImageUploadId; dialogVm.Name = user.FullName; dialogsManager.Dialogs.Insert(0, dialogVm); NavigationService.Navigate(ViewLocator.Chat, new ChatNavigationParameter { Dialog = dialogVm }); } } }