Esempio n. 1
0
        protected override async Task HandleCore(DeleteApprenticeshipCommand message)
        {
            var validationResult = _validator.Validate(message);

            if (!validationResult.IsValid())
            {
                throw new InvalidRequestException(validationResult.ValidationDictionary);
            }

            var apprenticeship = await _commitmentsApi.GetEmployerApprenticeship(message.AccountId, message.ApprenticeshipId);

            var commitment = await
                             _commitmentsApi.GetEmployerCommitment(message.AccountId, apprenticeship.CommitmentId);

            await _commitmentsApi.DeleteEmployerApprenticeship(message.AccountId, message.ApprenticeshipId,
                                                               new DeleteRequest { UserId = message.UserId, LastUpdatedByInfo = new LastUpdateInfo {
                                                                                       EmailAddress = message.UserEmailAddress, Name = message.UserDisplayName
                                                                                   } });

            if (commitment.TransferSender?.TransferApprovalStatus ==
                Commitments.Api.Types.TransferApprovalStatus.Rejected)
            {
                await _providerEmailNotificationService.SendProviderTransferRejectedCommitmentEditNotification(
                    commitment);
            }
        }
        protected override async Task HandleCore(DeleteApprenticeshipCommand message)
        {
            var validationResult = _validator.Validate(message);

            if (!validationResult.IsValid())
            {
                throw new InvalidRequestException(validationResult.ValidationDictionary);
            }

            await _commitmentsService.DeleteEmployerApprenticeship(message.AccountId, message.ApprenticeshipId,
                                                                   new DeleteRequest { UserId = message.UserId, LastUpdatedByInfo = new LastUpdateInfo {
                                                                                           EmailAddress = message.UserEmailAddress, Name = message.UserDisplayName
                                                                                       } });
        }