private void ValidateDoesNotAlreadyExists(Entity.Spending spendingToValidate) { if (spendingToValidate.Spender?.Id == null) { throw new ValidationException("Spending not valid: No Spender"); } IList <Entity.Spending> spenderSpendings = _spendingRepository.GetFromSpender(spendingToValidate.Spender.Id.Value); if (spenderSpendings.Any(sp => sp.Amount.IsEquals(spendingToValidate.Amount) && sp.Date.IsEquals(spendingToValidate.Date))) { throw new ValidationException("Spending not valid: A spending that has the same amount and date already exists"); } }
public void ValidateNewSpending(Entity.Spending spendingToValidate) { spendingToValidate.ValidateNew(DateTime.UtcNow); ValidateDoesNotAlreadyExists(spendingToValidate); }