private static bool RequestMatchesParameters(GetApprenticeshipEventsRequest x, DateTime toDateTime, DateTime fromDateTime, int fromEventId, int pageNumber, int pageSize) { return(x.ToDateTime.ToString("yyyyMMddHHmmss") == toDateTime.ToString("yyyyMMddHHmmss") && x.FromDateTime.ToString("yyyyMMddHHmmss") == fromDateTime.ToString("yyyyMMddHHmmss") && x.FromEventId == fromEventId && x.PageNumber == pageNumber && x.PageSize == pageSize); }
public async Task <IEnumerable <ApprenticeshipEventView> > GetEvents(string fromDate, string toDate, int pageSize, int pageNumber, long fromEventId) { try { _logger.Info($"Getting Apprenticeship Events for period: {fromDate ?? "(all)"} - {toDate ?? "(all)"}, from eventId = {(fromEventId == 0 ? "(all)" : fromEventId.ToString())}"); fromDate = fromDate ?? new DateTime(2000, 1, 1).ToString("yyyyMMddHHmmss"); toDate = toDate ?? DateTime.MaxValue.ToString("yyyyMMddHHmmss"); var request = new GetApprenticeshipEventsRequest { FromDateTime = fromDate.ParseDateTime(), ToDateTime = toDate.ParseDateTime(), PageSize = pageSize, PageNumber = pageNumber, FromEventId = fromEventId }; var response = await _mediator.SendAsync(request); return(response.Data.Select(x => new ApprenticeshipEventView { Id = x.Id, CreatedOn = x.CreatedOn, Event = x.Event, ApprenticeshipId = x.ApprenticeshipId, PaymentStatus = (PaymentStatus)x.PaymentStatus, PausedOnDate = x.PausedOnDate, StoppedOnDate = x.StoppedOnDate, AgreementStatus = (AgreementStatus)x.AgreementStatus, ProviderId = x.ProviderId, LearnerId = x.LearnerId, EmployerAccountId = x.EmployerAccountId, TrainingType = (TrainingTypes)x.TrainingType, TrainingId = x.TrainingId, TrainingStartDate = x.TrainingStartDate, TrainingEndDate = x.TrainingEndDate, TrainingTotalCost = x.TrainingTotalCost, PaymentOrder = x.PaymentOrder, LegalEntityId = x.LegalEntityId, LegalEntityName = x.LegalEntityName, LegalEntityOrganisationType = x.LegalEntityOrganisationType, AccountLegalEntityPublicHashedId = x.AccountLegalEntityPublicHashedId, EffectiveFrom = x.EffectiveFrom, EffectiveTo = x.EffectiveTo, DateOfBirth = x.DateOfBirth, PriceHistory = x.PriceHistory.Select(MapPriceHistory), TransferSenderId = x.TransferSenderId, TransferSenderName = x.TransferSenderName ?? string.Empty, TransferApprovalStatus = (TransferApprovalStatus?)x.TransferApprovalStatus, TransferApprovalActionedOn = x.TransferApprovalActionedOn })); } catch (ValidationException ex) { _logger.Warn(ex, "Invalid request"); throw; } catch (Exception ex) { _logger.Error(ex, ex.Message); throw; } }