public async Task <BaseResponse> Delete(string id)
        {
            var deleteCommand = new DeleteInvitationCommand()
            {
                Id = id
            };

            return(await _mediator.Send(deleteCommand));
        }
 public void Setup()
 {
     _invitationRepository = new Mock <IInvitationRepository>();
     _membershipRepository = new Mock <IMembershipRepository>();
     _mediator             = new Mock <IMediator>();
     _handler    = new DeleteInvitationCommandHandler(_invitationRepository.Object, _membershipRepository.Object, _mediator.Object);
     _invitation = new Invitation
     {
         Id        = 1,
         AccountId = 101,
         Email     = "*****@*****.**"
     };
     _command = new DeleteInvitationCommand
     {
         Email           = _invitation.Email,
         HashedAccountId = "1",
         ExternalUserId  = "EXT_USER"
     };
 }
Ejemplo n.º 3
0
        public async Task <CustodialReport> Handle(RunCustodialTasksCommand request, CancellationToken cancellationToken)
        {
            var timer = new Stopwatch();

            timer.Start();

            var report = new CustodialReport();

            #region Delete Expired Invitations

            var expiredInvitationsQuery = new GetExpiredInvitationsQuery();

            var expiredInvitationsCount     = 0;
            var processNextInvitationsBatch = true;

            while (processNextInvitationsBatch)
            {
                var result = await _mediator.Send(expiredInvitationsQuery);

                if (result.Count > 0)
                {
                    expiredInvitationsCount = expiredInvitationsCount + result.Count;

                    foreach (var id in result.Ids)
                    {
                        var deleteInvitationCommand = new DeleteInvitationCommand {
                            Id = id
                        };
                        var deleteResult = await _mediator.Send(deleteInvitationCommand);

                        report.TaskLog.Add(String.Concat("Expired invitation deleted. Id: ", id));
                    }
                    processNextInvitationsBatch = result.HasMoreResults;
                }
                else
                {
                    processNextInvitationsBatch = false;
                }
            }

            #endregion

            #region Delete Expired RefreshTokens

            var expiredRefreshTokensQuery = new GetExpiredRefreshTokensQuery();

            var expiredRefreshTokensCount     = 0;
            var processNextRefreshTokensBatch = true;

            while (processNextRefreshTokensBatch)
            {
                var result = await _mediator.Send(expiredRefreshTokensQuery);

                if (result.Count > 0)
                {
                    expiredRefreshTokensCount = expiredRefreshTokensCount + result.Count;

                    foreach (var id in result.Ids)
                    {
                        var deleteDeleteRefeshTokenCommand = new DeleteRefreshTokenCommand {
                            Id = id
                        };
                        var deleteResult = await _mediator.Send(deleteDeleteRefeshTokenCommand);

                        report.TaskLog.Add(String.Concat("Expired refresh token deleted. Id: ", id));
                    }
                    processNextRefreshTokensBatch = result.HasMoreResults;
                }
                else
                {
                    processNextRefreshTokensBatch = false;
                }
            }

            #endregion

            #region Update Cache(s)



            #endregion

            timer.Stop();

            report.TaskCount = report.TaskLog.Count;
            report.isSuccess = true;
            report.Duration  = timer.ElapsedMilliseconds;
            report.Message   = String.Concat("Tasks completed in ", timer.ElapsedMilliseconds, " milliseconds");

            Log.Information("Custodial tasks completed {@report}", report);

            return(report);
        }