public async Task <ValidationResult> ValidateNewResourceAsync(IResourceReadOnlyRepository resourceReadOnly) { NameNotEmptyRule(); AmountEqualsGreaterThanZero(); CanUseName(resourceReadOnly); this.ValidationResult = await ValidateAsync(this); return(ValidationResult); }
protected void CanUseName(IResourceReadOnlyRepository resourceReadOnly) { this.RuleFor(p => p.Name) .NotNull().WithMessage("O nome do recurso não pode ser vazio") .MustAsync(async(name, cancellationToken) => { if (string.IsNullOrEmpty(name)) { return(true); } var sameNamesCount = await resourceReadOnly.CountByNameAsync(name); return(sameNamesCount == 0); }).WithMessage("Um recurso de mesmo nome já existe"); }
public ResourceController(IResourceAppService resourceAppService, IResourceReadOnlyRepository resourceReadOnlyRepository) { _resourceAppService = resourceAppService; _resourceReadOnlyRepository = resourceReadOnlyRepository; }
public ResourceCommandHandler(IResourcePersistentRepository resourcePersistentRepository , IResourceReadOnlyRepository resourceReadOnlyRepository) { _resourcePersistentRepository = resourcePersistentRepository; _resourceReadOnlyRepository = resourceReadOnlyRepository; }
public ResourceAppService(IMediator mediator , IResourceReadOnlyRepository resourceReadOnlyRepository) { this.mediator = mediator; _resourceReadOnlyRepository = resourceReadOnlyRepository; }