public async Task <IActionResult> ValidateAsync(CheckCashoutValidityModel model) { var cashoutModel = model != null ? new CashoutModel { AssetId = model.AssetId, DestinationAddress = model.DestinationAddress, Volume = model.Amount, ClientId = model.ClientId } : null; var validationErrors = await _validationService.ValidateAsync(cashoutModel); var response = new CashoutValidityResult { IsAllowed = (validationErrors?.Count ?? 0) == 0, ValidationErrors = validationErrors?.Select(x => ValidationErrorResponse.Create((ValidationErrorType)x.Type, x.Value)), }; return(Ok(response)); }
/// <summary> /// Checks whether or not cashout to the destination address is allowed /// </summary> /// <param name="validateCashoutModel"></param> /// <returns></returns> /// <exception cref="Exception">Is thrown on wrong usage of service.</exception> public async Task <(bool isAllowed, IEnumerable <ValidationErrorResponse>)> ValidateCashoutAsync(CheckCashoutValidityModel validateCashoutModel) { var isAllowed = false; IEnumerable <ValidationErrorResponse> validationErrors; try { var response = await _service.CashoutCheckAsync(validateCashoutModel); isAllowed = response.IsAllowed; validationErrors = response.ValidationErrors; } catch (ApiException e) { var error = GetErrorResponse(e); validationErrors = new[] { ValidationErrorResponse.Create(ValidationErrorType.None, error.Message), }; } return(isAllowed, validationErrors); }