예제 #1
0
        public async Task <IEnumerable <Apprenticeship.Apprenticeship> > GetApprenticeships(long accountId)
        {
            _logger.Trace($"Getting apprenticeships for employer account {accountId}", accountId: accountId);

            var response = await _mediator.SendAsync(new GetApprenticeshipsRequest
            {
                Caller = new Caller {
                    CallerType = CallerType.Employer, Id = accountId
                },
            });

            _logger.Info($"Retrieved apprenticeships for employer account {accountId}. {response.Apprenticeships.Count} apprenticeships found", accountId: accountId);

            return(_apprenticeshipMapper.MapFrom(response.Apprenticeships, CallerType.Employer));
        }
예제 #2
0
        public async Task <IEnumerable <Apprenticeship> > GetApprenticeships(long providerId)
        {
            _logger.Trace($"Getting apprenticeships for provider {providerId}", providerId: providerId);

            var response = await _mediator.SendAsync(new GetApprenticeshipsRequest
            {
                Caller = new Caller
                {
                    CallerType = CallerType.Provider,
                    Id         = providerId
                }
            });

            _logger.Info($"Retrieved apprenticeships for provider {providerId}. {response.Apprenticeships.Count} apprenticeships found", providerId: providerId, recordCount: response.Apprenticeships.Count);

            return(_apprenticeshipMapper.MapFrom(response.Apprenticeships, CallerType.Provider));
        }
        public async Task <OrchestratorResponse <UpdateApprenticeshipViewModel> > GetViewChangesViewModel(
            string hashedAccountId, string hashedApprenticeshipId, string externalUserId)
        {
            var accountId        = HashingService.DecodeValue(hashedAccountId);
            var apprenticeshipId = HashingService.DecodeValue(hashedApprenticeshipId);

            Logger.Debug($"Getting confirm change model: {accountId}, ApprenticeshipId: {apprenticeshipId}");

            return(await CheckUserAuthorization(
                       async() =>
            {
                var data = await Mediator.SendAsync(
                    new GetApprenticeshipUpdateRequest
                {
                    AccountId = accountId,
                    ApprenticeshipId = apprenticeshipId
                });

                var apprenticeshipResult = await Mediator.SendAsync(
                    new GetApprenticeshipQueryRequest
                {
                    AccountId = accountId,
                    ApprenticeshipId = apprenticeshipId
                });

                var viewModel = _apprenticeshipMapper.MapFrom(data.ApprenticeshipUpdate);

                if (viewModel == null)
                {
                    throw new InvalidStateException("Attempting to update an already updated Apprenticeship");
                }

                var apprenticeship = _apprenticeshipMapper.MapToApprenticeshipDetailsViewModel(apprenticeshipResult.Apprenticeship);
                viewModel.OriginalApprenticeship = apprenticeship;
                viewModel.HashedAccountId = hashedAccountId;
                viewModel.HashedApprenticeshipId = hashedApprenticeshipId;
                viewModel.ProviderName = apprenticeship.ProviderName;

                return new OrchestratorResponse <UpdateApprenticeshipViewModel>
                {
                    Data = viewModel
                };
            }, hashedAccountId, externalUserId));
        }
예제 #4
0
        public async Task <OrchestratorResponse <UpdateApprenticeshipViewModel> > GetViewChangesViewModel(
            string hashedAccountId, string hashedApprenticeshipId, string externalUserId)
        {
            var accountId        = _hashingService.DecodeValue(hashedAccountId);
            var apprenticeshipId = _hashingService.DecodeValue(hashedApprenticeshipId);

            _logger.Debug($"Getting confirm change model: {accountId}, ApprenticeshipId: {apprenticeshipId}");

            return(await CheckUserAuthorization(
                       async() =>
            {
                var data = await _mediator.SendAsync(
                    new GetApprenticeshipUpdateRequest
                {
                    AccountId = accountId,
                    ApprenticeshipId = apprenticeshipId
                });

                var apprenticeshipResult = await _mediator.SendAsync(
                    new GetApprenticeshipQueryRequest
                {
                    AccountId = accountId,
                    ApprenticeshipId = apprenticeshipId
                });

                var viewModel = _apprenticeshipMapper.MapFrom(data.ApprenticeshipUpdate);

                var apprenticeship = _apprenticeshipMapper.MapToApprenticeshipDetailsViewModel(apprenticeshipResult.Apprenticeship);
                viewModel.OriginalApprenticeship = apprenticeship;
                viewModel.HashedAccountId = hashedAccountId;
                viewModel.HashedApprenticeshipId = hashedApprenticeshipId;
                viewModel.ProviderName = apprenticeship.ProviderName;
                viewModel.IsDataLockOrigin =
                    apprenticeship.DataLockTriageStatus == TriageStatus.Change;

                return new OrchestratorResponse <UpdateApprenticeshipViewModel>
                {
                    Data = viewModel
                };
            }, hashedAccountId, externalUserId));
        }
        public async Task <Apprenticeship.Apprenticeship> GetApprenticeship(long accountId, long apprenticeshipId)
        {
            _logger.Trace($"Getting apprenticeship {apprenticeshipId} for employer account {accountId}", accountId: accountId, apprenticeshipId: apprenticeshipId);

            var response = await _mediator.SendAsync(new GetApprenticeshipRequest
            {
                Caller = new Caller
                {
                    CallerType = CallerType.Employer,
                    Id         = accountId
                },
                ApprenticeshipId = apprenticeshipId
            });

            if (response.Data == null)
            {
                _logger.Info($"Couldn't find apprenticeship {apprenticeshipId} for employer account {accountId}", accountId: accountId, apprenticeshipId: apprenticeshipId);
                return(null);
            }

            _logger.Info($"Retrieved apprenticeship {apprenticeshipId} for employer account {accountId}", accountId: accountId, apprenticeshipId: apprenticeshipId, commitmentId: response.Data.CommitmentId);

            return(_apprenticeshipMapper.MapFrom(response.Data, CallerType.Employer));
        }