public async Task <OperationResult> RemoveCouponCodeAsync(RemoveCouponCodeInput input) { var validationResult = await _couponCodeValidator.ValidateRemoveCouponCodeAsync(input); if (validationResult.IsSuccess) { var entity = await _couponCodeRepository.GetCouponAsync(input.Code.ToUpper()); await _couponCodeRepository.RemoveAsync(entity); return(OperationResult.Success()); } return(OperationResult <CouponCodeDto> .Fail(validationResult)); }
public async Task <ValidationResult> ValidateRemoveCouponCodeAsync(RemoveCouponCodeInput input) { ValidationResult validationResult = new(); if (string.IsNullOrWhiteSpace(input.Code)) { validationResult.Messages.Add(new(nameof(RemoveCouponCodeInput.Code), "Debe indicar un código.")); } else { CouponCode couponCode = await _couponCodeRepository.GetCouponAsync(input.Code.ToUpper()); if (couponCode is null) { validationResult.Messages.Add(new(nameof(RemoveCouponCodeInput.Code), $"El código {input.Code} no existe.")); } } return(validationResult); }