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!"); } }
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!"); } }