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()); } }
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; } }
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; } }