コード例 #1
0
        public void ShouldFailToRejectNonPendingFriendshipRequest()
        {
            FriendshipRequest friendshipRequest = GetFriendshipRequest();

            friendshipRequest.Reject();
            friendshipRequest.Reject();

            Assert.IsFalse(friendshipRequest.IsValid);
            Assert.AreEqual("Só é possível rejeitar uma solicitação pendente.", friendshipRequest.GetNotifications().FirstOrDefault().Description);
        }
コード例 #2
0
        /// <inheritdoc />
        public async Task <Result> Handle(RejectFriendshipRequestCommand request, CancellationToken cancellationToken)
        {
            Maybe <FriendshipRequest> maybeFriendshipRequest = await _friendshipRequestRepository.GetByIdAsync(request.FriendshipRequestId);

            if (maybeFriendshipRequest.HasNoValue)
            {
                return(Result.Failure(DomainErrors.FriendshipRequest.NotFound));
            }

            FriendshipRequest friendshipRequest = maybeFriendshipRequest.Value;

            if (friendshipRequest.FriendId != _userIdentifierProvider.UserId)
            {
                return(Result.Failure(DomainErrors.User.InvalidPermissions));
            }

            Result rejectResult = friendshipRequest.Reject(_dateTime.UtcNow);

            if (rejectResult.IsFailure)
            {
                return(Result.Failure(rejectResult.Error));
            }

            await _unitOfWork.SaveChangesAsync(cancellationToken);

            return(Result.Success());
        }
コード例 #3
0
 protected void RejectRequestButton_Click(object sender, EventArgs e)
 {
     if (friendRequest != null && friendRequest.Status == FriendshipRequestStatus.Pending)
     {
         friendRequest.Reject();
     }
     ShowHideContent();
 }
コード例 #4
0
        public void ShouldRejectFriendshipRequest()
        {
            FriendshipRequest friendshipRequest = GetFriendshipRequest();

            friendshipRequest.Reject();

            Assert.IsTrue(friendshipRequest.IsValid);
            Assert.IsTrue(friendshipRequest.IsRejected);
        }
コード例 #5
0
    protected void RequestsGridView_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int         index   = e.GetSelectedRowIndex() % RequestsGridView.PageSize;
        GridViewRow row     = RequestsGridView.Rows[index];
        int         id      = Convert.ToInt32(row.Cells[0].Text.Trim());
        var         request = new FriendshipRequest(id);

        if (e.CommandName == "accept")
        {
            request.Accept();
        }
        if (e.CommandName == "reject")
        {
            request.Reject();
        }

        RequestsGridView.DataBind();
    }
コード例 #6
0
        public async Task <CommandResult> Handle(RejectFriendshipRequestCommand request, CancellationToken cancellationToken)
        {
            FriendshipRequest friendshipRequest = await _friendshipRequestRepository.GetByIdAsync(request.FriendshipRequestId);

            if (friendshipRequest == null || !friendshipRequest.IsRequested(_currentProfileId))
            {
                return(FailureDueToFriendshipNotFound());
            }

            friendshipRequest.Reject();
            if (!friendshipRequest.IsValid)
            {
                return(FailureDueToEntityStateInconsistency(friendshipRequest));
            }

            await _friendshipRequestRepository.UpdateAsync(friendshipRequest);

            return(await CommitAndPublishDefaultAsync());
        }