public async Task <GetEmployerEnglishFractionResponse> Handle(GetEmployerEnglishFractionQuery message) { var validationResult = await _validator.ValidateAsync(message); if (!validationResult.IsValid()) { throw new InvalidRequestException(validationResult.ValidationDictionary); } if (validationResult.IsUnauthorized) { throw new UnauthorizedAccessException(); } var result = (await _dasLevyService.GetEnglishFractionHistory(message.EmpRef)).ToList(); var schemeInformation = await _mediator.SendAsync(new GetPayeSchemeInUseQuery { Empref = message.EmpRef }); return(new GetEmployerEnglishFractionResponse { Fractions = result, EmpRef = message.EmpRef, EmpRefAddedDate = schemeInformation.PayeScheme.AddedDate }); }