public async Task <VoucherCreateResultModel> AddAsync([FromBody] VoucherCreateModel model) { try { await _vouchersService.AddAsync(model.SpendRuleId, model.Codes); } catch (SpendRuleNotFoundException) { return(new VoucherCreateResultModel(VoucherErrorCode.SpendRuleNotFound)); } catch (InvalidSpendRuleVerticalException) { return(new VoucherCreateResultModel(VoucherErrorCode.InvalidSpendRuleVertical)); } catch (CodeAlreadyExistException) { return(new VoucherCreateResultModel(VoucherErrorCode.CodeAlreadyExist)); } return(new VoucherCreateResultModel(VoucherErrorCode.None)); }