public AddFriendPage()
        {
            InitializeComponent();
            DataContext = new AddFriendViewModel(App.ViewModel.Friends);
            ((AddFriendViewModel)DataContext).FriendAdded += AddFriendPage_FriendAdded;
            progressIndicator = new ProgressIndicator();
            SystemTray.SetProgressIndicator(this, progressIndicator);

            // Hook up to storyboard(s)
            FrameworkElement templateRoot = VisualTreeHelper.GetChild(this, 0) as FrameworkElement;

            if (null != templateRoot)
            {
                foreach (VisualStateGroup group in VisualStateManager.GetVisualStateGroups(templateRoot))
                {
                    if (VisibilityGroupName == group.Name)
                    {
                        foreach (VisualState state in group.States)
                        {
                            if ((ClosedVisibilityStateName == state.Name) && (null != state.Storyboard))
                            {
                                _closedStoryboard            = state.Storyboard;
                                _closedStoryboard.Completed += OnClosedStoryboardCompleted;
                            }
                        }
                    }
                }
            }

            // Play the Open state
            VisualStateManager.GoToState(this, OpenVisibilityStateName, true);
        }
        public async Task <IActionResult> AddFriend(AddFriendViewModel viewModel)
        {
            // Get current user
            var user = await GetCurrentUserAsync();

            // Create Friend connection with "pending" status
            Friend newFriend = new Friend();

            newFriend.FriendAId = user.Id;
            newFriend.FriendBId = viewModel.Id;
            newFriend.Status    = "pending";

            if (ModelState.IsValid)
            {
                _context.Add(newFriend);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(RedirectToAction(nameof(Index)));
        }
 private void AddFriendPage_FriendAdded(AddFriendViewModel sender, Core.ViewModels.FriendViewModel args)
 {
     progressIndicator.IsVisible = false;
     ClosePickerPage();
 }