コード例 #1
0
        protected override async Task HandleCore(UpdatePayeInformationCommand message)
        {
            var validationResult = _validator.Validate(message);

            if (!validationResult.IsValid())
            {
                throw new InvalidRequestException(validationResult.ValidationDictionary);
            }

            var scheme = await _payeRepository.GetPayeSchemeByRef(message.PayeRef);

            if (!string.IsNullOrEmpty(scheme.RefName))
            {
                return;
            }

            var result = await _hmrcService.GetEmprefInformation(scheme.EmpRef);

            if (string.IsNullOrEmpty(result?.Employer?.Name?.EmprefAssociatedName))
            {
                return;
            }

            await _payeRepository.UpdatePayeSchemeName(message.PayeRef, result.Employer.Name.EmprefAssociatedName);
        }