/// <summary>
        /// Send a friendship request from an user to another one.
        /// </summary>
        /// <param name="sender">The user that sends the request.</param>
        /// <param name="reciver">The user that receives the request.</param>
        public void SendRequest(User sender, User reciver)
        {
            ContractUtil.NotNull(sender);
            ContractUtil.NotNull(reciver);

            var requestRepository = _unitOfWork.FriendshipRequests;

            // Checking that the request isn't already sent ...
            if (requestRepository.FindSentFrom(sender).Any(request => reciver.Id.Equals(request.Reciver.Id)))
            {
                return;
            }

            var notificationRepository = _unitOfWork.Notifications;

            var newRequest      = new FriendshipRequest(sender, reciver, _dateTimeService.Now());
            var newNotification = _notificationFactory.CreateFriendshipRequest(sender, reciver);

            requestRepository.Add(newRequest);
            notificationRepository.Add(newNotification);

            _unitOfWork.Commit();
        }