private async Task <ITimeregValidationResult> Validate(Absence absence, Integration integration)
        {
            var validationResult = _integrationValidator.Validate(integration);

            if (validationResult.SkipFurtherProcessing)
            {
                return(validationResult);
            }
            else if (validationResult.IsValid)
            {
                var validatorFactory = _externalSystemValidatorFactory.Create(integration.ExternalSystem);
                validationResult = await validatorFactory.ValidateExportAbsence(integration.UnitId, absence);
            }
            return(validationResult);
        }
示例#2
0
        private async Task <ITimeregValidationResult> Validate(int unitId, int employeeId, integrationsContracts.Integration integration)
        {
            var validationResult = _integrationValidator.Validate(integration);

            if (validationResult.SkipFurtherProcessing)
            {
                return(validationResult);
            }
            else
            {
                var validatorFactory = _validatorFactory.Create(integration.ExternalSystem);
                validationResult = await validatorFactory.ValidateHourBalance(unitId, employeeId);
            }
            return(validationResult);
        }
 public ITimeRegService Build()
 {
     A.CallTo(() => _validatorFactory.Create(A <int> .Ignored)).Returns(_validator);
     return(new TimeRegService(_externalSystemFactory, _validatorFactory, _currentUserContext, _integrationService));
 }