コード例 #1
0
        public async Task ValidateBeforeSave(ClaimForSaveDto claimForSave)
        {
            var validator = new ClaimForSaveDtoValidator();

            CheckValidationResults(validator.Validate(claimForSave));

            var existingClaim = await _repo.FirstOrDefaultAsync(x => x.Name == claimForSave.Name);

            if (existingClaim != null)
            {
                ThrowValidationError("Claim", $"Claim {claimForSave.Name} already exists!");
            }
        }
コード例 #2
0
        public async Task ValidateBeforeUpdate(int claimId, ClaimForSaveDto claimForSave)
        {
            var validator = new ClaimForSaveDtoValidator();

            CheckValidationResults(validator.Validate(claimForSave));

            var existingClaim = await _repo.FindAsync(claimId);

            if (existingClaim == null)
            {
                throw new NotFoundException();
            }

            var claimWithSameName = await _repo.FirstOrDefaultAsync(x => x.Name == claimForSave.Name);

            if (claimWithSameName != null && claimWithSameName.Id != existingClaim.Id)
            {
                ThrowValidationError("Claim", $"Claim {claimWithSameName.Name} already exists!");
            }
        }