public FriendshipRequestCommandHandler(IFriendshipRequestRepository friendshipRequestRepository, IProfileRepository profileRepository, IProfileDomainService profileDomainService, IIdentityService identityService, IMediator mediator, IUnitOfWork <ICommunityDbContext> unitOfWork, ILogger <FriendshipRequestCommandHandler> logger) : base(identityService, mediator, unitOfWork, logger) { _friendshipRequestRepository = friendshipRequestRepository; _profileRepository = profileRepository; _profileDomainService = profileDomainService; _currentProfileId = GetCurrentProfileId(); }
/// <summary> /// Initializes a new instance of the <see cref="NotifyUserOnFriendshipRequestSentIntegrationEventHandler"/> class. /// </summary> /// <param name="friendshipRequestRepository">The friendship request repository.</param> /// <param name="userRepository">The user repository.</param> /// <param name="emailNotificationService">The email notification service.</param> public NotifyUserOnFriendshipRequestSentIntegrationEventHandler( IFriendshipRequestRepository friendshipRequestRepository, IUserRepository userRepository, IEmailNotificationService emailNotificationService) { _friendshipRequestRepository = friendshipRequestRepository; _userRepository = userRepository; _emailNotificationService = emailNotificationService; }
public async Task ShouldFailToFindFriendship() { IFriendshipRequestRepository repository = GetRepository(null); IFriendshipRequestDomainService domainService = new FriendshipRequestDomainService(repository); CommandResult commandResult = await domainService.DumpExistingFriendshipRequest(Guid.NewGuid(), Guid.NewGuid()); Assert.IsFalse(commandResult.Success); Assert.AreEqual("A solicitação de amizade não foi encontrada no banco de dados.", commandResult.Notifications.FirstOrDefault().Description); }
public UserRepository( IUnitOfWork unitOfWork, IDbConnectionFactory dbConnectionFactory, IFriendshipRequestRepository friendshipRequestRepository, IFriendshipRepository friendshipRepository) { _dbConnectionFactory = dbConnectionFactory; _friendshipRequestRepository = friendshipRequestRepository; UnitOfWork = unitOfWork; _friendshipRepository = friendshipRepository; }
/// <summary> /// Initializes a new instance of the <see cref="RejectFriendshipRequestCommandHandler"/> class. /// </summary> /// <param name="userIdentifierProvider">The user identifier provider.</param> /// <param name="friendshipRequestRepository">The friendship request repository.</param> /// <param name="unitOfWork">The unit of work.</param> /// <param name="dateTime">The date and time.</param> public RejectFriendshipRequestCommandHandler( IUserIdentifierProvider userIdentifierProvider, IFriendshipRequestRepository friendshipRequestRepository, IUnitOfWork unitOfWork, IDateTime dateTime) { _userIdentifierProvider = userIdentifierProvider; _friendshipRequestRepository = friendshipRequestRepository; _unitOfWork = unitOfWork; _dateTime = dateTime; }
public UpdateFriendshipRequestStatusCommandHandler( IFriendshipRequestRepository friendshipRequestRepository, IUserRepository userRepository, IFriendshipRepository friendshipRepository, IEventBus eventBus, IFriendshipQueries friendshipQueries) { _friendshipRequestRepository = friendshipRequestRepository; _userRepository = userRepository; _friendshipRepository = friendshipRepository; _eventBus = eventBus; _friendshipQueries = friendshipQueries; }
/// <summary> /// Initializes a new instance of the <see cref="SendFriendshipRequestCommandHandler"/> class. /// </summary> /// <param name="userIdentifierProvider">The user identifier provider.</param> /// <param name="userRepository">The user repository.</param> /// <param name="friendshipRepository">The friendship repository.</param> /// <param name="friendshipRequestRepository">The friendship request repository.</param> /// <param name="unitOfWork">The unit of work.</param> public SendFriendshipRequestCommandHandler( IUserIdentifierProvider userIdentifierProvider, IUserRepository userRepository, IFriendshipRepository friendshipRepository, IFriendshipRequestRepository friendshipRequestRepository, IUnitOfWork unitOfWork) { _userIdentifierProvider = userIdentifierProvider; _userRepository = userRepository; _friendshipRepository = friendshipRepository; _friendshipRequestRepository = friendshipRequestRepository; _unitOfWork = unitOfWork; }
public CreateFriendshipRequestCommandHandler( ILogger <UpdateUserCommandHandler> logger, IMapper mapper, IUserRepository userRepository, IFriendshipRequestRepository friendshipRequestRepository, IFriendshipRequestQueries friendshipRequestQueries, IEventBus eventBus) { _logger = logger; _mapper = mapper; _userRepository = userRepository; _friendshipRequestRepository = friendshipRequestRepository; _friendshipRequestQueries = friendshipRequestQueries; _eventBus = eventBus; }
public async Task ShouldFailToDumpANonAcceptedRequest() { Guid requesterId = Guid.NewGuid(); Guid requestedId = Guid.NewGuid(); FriendshipRequest request = new FriendshipRequest(requesterId, requestedId, null); IFriendshipRequestRepository repository = GetRepository(request); IFriendshipRequestDomainService domainService = new FriendshipRequestDomainService(repository); CommandResult commandResult = await domainService.DumpExistingFriendshipRequest(requesterId, requestedId); FriendshipRequest friendshipRequest = await repository.GetActiveByCompositeIdAsync(requesterId, requestedId); Assert.IsFalse(commandResult.Success); Assert.AreEqual("Só é possível baixar uma solicitação que já foi aceita.", commandResult.Notifications.FirstOrDefault().Description); }
public async Task ShouldDumpFriendship() { Guid requesterId = Guid.NewGuid(); Guid requestedId = Guid.NewGuid(); FriendshipRequest request = new FriendshipRequest(Guid.NewGuid(), Guid.NewGuid(), null); request.Accept(); IFriendshipRequestRepository repository = GetRepository(request); IFriendshipRequestDomainService domainService = new FriendshipRequestDomainService(repository); CommandResult commandResult = await domainService.DumpExistingFriendshipRequest(requesterId, requestedId); FriendshipRequest friendshipRequest = await repository.GetActiveByCompositeIdAsync(requesterId, requestedId); Assert.IsTrue(commandResult.Success); Assert.AreEqual(FriendshipRequestStatus.Dumped, friendshipRequest.Status); }
/// <summary> /// Creates a new friendship request for the specified friend. /// </summary> /// <param name="friend">The friend.</param> /// <param name="friendshipRepository">The friendship repository.</param> /// <param name="friendshipRequestRepository">The friendship request repository.</param> /// <returns>The result that contains a friendship request or an error.</returns> public async Task <Result <FriendshipRequest> > SendFriendshipRequestAsync( User friend, IFriendshipRepository friendshipRepository, IFriendshipRequestRepository friendshipRequestRepository) { if (await friendshipRepository.CheckIfFriendsAsync(this, friend)) { return(Result.Failure <FriendshipRequest>(DomainErrors.FriendshipRequest.AlreadyFriends)); } if (await friendshipRequestRepository.CheckForPendingFriendshipRequestAsync(this, friend)) { return(Result.Failure <FriendshipRequest>(DomainErrors.FriendshipRequest.PendingFriendshipRequest)); } var friendshipRequest = new FriendshipRequest(this, friend); AddDomainEvent(new FriendshipRequestSentDomainEvent(friendshipRequest)); return(friendshipRequest); }
public FriendshipRequestDomainService(IFriendshipRequestRepository friendshipRequestRepository) { _friendshipRequestRepository = friendshipRequestRepository; }