Пример #1
0
        public async Task <IActionResult> AcceptFriendRequest(string requestedById, string requestedToId)
        {
            await _friendService.AcceptFriendRequestAsync(requestedById, requestedToId);

            var requestedBy = await _userService.GetUserByIdAsync(requestedById);

            var userSetting = await _userService.GetUserSettingUserIdAsync(requestedBy.Id);

            if (!userSetting.NotifyWhenUserAcceptFriendRequest)
            {
                return(RedirectToAction(nameof(List)));
            }

            var attributes = new List <NotificationAttribute>
            {
                new NotificationAttribute
                {
                    Name  = "Link",
                    Value = Url.Action(nameof(FriendController.List), "Friend")
                }
            };

            var notification = new Notification(requestedBy, requestedToId, NotificationType.AcceptedFriendRequest,
                                                attributes);

            requestedBy.CreateNotification(notification);


            await _unitOfWork.CompleteAsync();

            await _notificationService.PushNotification(requestedBy.Id, notification.Id);

            return(RedirectToAction(nameof(List)));
        }