private List <ProviderUser> ParseIdamsResult(string jsonResult, long ukprn)
        {
            try
            {
                var result = JObject.Parse(jsonResult).SelectToken("result");

                if (result.Type == JTokenType.Array)
                {
                    var items = result.ToObject <IEnumerable <UserResponse> >();
                    return(items.SelectMany(MapToProviderUser).ToList());
                }

                var item = result.ToObject <UserResponse>();
                return(MapToProviderUser(item)
                       .ToList());
            }
            catch (Exception exception)
            {
                _logger.Info($"Result: {jsonResult}");
                _logger.Error(
                    exception,
                    $"Not possible to parse result to {typeof(UserResponse)} for provider: {ukprn}");
            }

            return(new List <ProviderUser>());
        }
 private async Task PublishBulkUploadIntoCohortCompleted(Commitment commitment, IList <Apprenticeship> insertedApprenticeships)
 {
     try
     {
         await _v2EventsPublisher.PublishBulkUploadIntoCohortCompleted(commitment.ProviderId.Value,
                                                                       commitment.Id,
                                                                       (uint)insertedApprenticeships.Count);
     }
     catch (Exception e)
     {
         _logger.Error(e, "Error calling PublishBulkUploadIntoCohortCompleted Event");
         throw;
     }
 }
        public async Task <IHttpActionResult> GetAll()
        {
            try
            {
                var result = await _mediator.SendAsync(new GetAllTrainingProgrammesQuery());

                return(Ok(new GetAllTrainingProgrammesResponse
                {
                    TrainingProgrammes = result.TrainingProgrammes
                }));
            }
            catch (Exception e)
            {
                _logger.Error(e, "Error getting all courses");
                return(BadRequest());
            }
        }
Beispiel #4
0
        public async Task PublishApprenticeshipCreated(IApprenticeshipEvent apprenticeshipEvent)
        {
            DateTime GetTransferApprovalOrAgreedOnDate()
            {
                if (apprenticeshipEvent.Commitment.TransferApprovalActionedOn.HasValue)
                {
                    return(apprenticeshipEvent.Commitment.TransferApprovalActionedOn.Value);
                }

                return(apprenticeshipEvent.Apprenticeship.AgreedOn.Value);
            }

            var logMessage = $"Publish {typeof(ApprenticeshipCreatedEvent).Name} message. {GetLogMessage(apprenticeshipEvent)}";

            try
            {
                DoPreChecks <ApprenticeshipCreatedEvent>(ApprenticePreChecks.HasStartAndEndDate, apprenticeshipEvent?.Apprenticeship);

                await _endpointInstance.Publish(new ApprenticeshipCreatedEvent
                {
                    ApprenticeshipId = apprenticeshipEvent.Apprenticeship.Id,
                    AgreedOn         = apprenticeshipEvent.Apprenticeship.AgreedOn.Value,
                    CreatedOn        = GetTransferApprovalOrAgreedOnDate(),
                    Uln        = apprenticeshipEvent.Apprenticeship.ULN,
                    ProviderId = apprenticeshipEvent.Apprenticeship.ProviderId,
                    AccountId  = apprenticeshipEvent.Apprenticeship.EmployerAccountId,
                    AccountLegalEntityPublicHashedId = apprenticeshipEvent.Apprenticeship.AccountLegalEntityPublicHashedId,
                    LegalEntityName  = apprenticeshipEvent.Commitment.LegalEntityName,
                    StartDate        = apprenticeshipEvent.Apprenticeship.StartDate.Value,
                    EndDate          = apprenticeshipEvent.Apprenticeship.EndDate.Value,
                    PriceEpisodes    = GetPriceEpisodes(apprenticeshipEvent.Apprenticeship),
                    TrainingType     = (CommitmentsV2.Types.ProgrammeType)apprenticeshipEvent.Apprenticeship.TrainingType,
                    TrainingCode     = apprenticeshipEvent.Apprenticeship.TrainingCode,
                    TransferSenderId = apprenticeshipEvent.Apprenticeship.TransferSenderId,
                    ApprenticeshipEmployerTypeOnApproval = apprenticeshipEvent.Commitment.ApprenticeshipEmployerTypeOnApproval
                });

                _logger.Info($"{logMessage} successful");
            }
            catch (Exception e)
            {
                _logger.Error(e, $"{logMessage} failed");
                throw;
            }
        }
        private async Task SendCommandAndLog <TCommand>(TCommand @event, string message) where TCommand : class
        {
            var logMessage = $"Send {typeof(TCommand).Name} message. {message}";

            try
            {
                await _endpointInstance.Send(@event);

                _logger.Info($"{logMessage} successful");
            }
            catch (Exception e)
            {
                _logger.Error(e, $"{logMessage} failed");
                throw;
            }
        }
Beispiel #6
0
 private async Task <ReservationValidationResult> CheckReservationWithLogging(ReservationValidationServiceRequest request)
 {
     try
     {
         return(await CheckReservationIfRequired(request));
     }
     catch (Exception ex)
     {
         _logger.Error(ex,
                       "Failed to check reservation",
                       request.AccountId,
                       request.ProviderId,
                       request.CommitmentId,
                       request.ApprenticeshipId);
         throw;
     }
 }
        public async Task <GetApprenticeshipsByUlnResponse> Handle(GetApprenticeshipsByUlnRequest request)
        {
            try
            {
                ValidateRequest(request);

                var result = await _apprenticeshipRepository.GetApprenticeshipsByUln(request.Uln, request.EmployerAccountId);

                return(new GetApprenticeshipsByUlnResponse
                {
                    Apprenticeships = result.Apprenticeships,
                    TotalCount = result.TotalCount
                });
            }
            catch (Exception ex)
            {
                _logger.Error(ex, "Failed to get Apprentiships for ULN");
                throw ex;
            }
        }