c# - if/else 潜在大条件的最佳方法
问题描述
在 MVC 应用程序上工作。我有数百个用户。目前,如果我们的一些顶级用户(可能是 10 个)通过分配给他们的工作场所电子邮件登录,我正在尝试为他们提供折扣。价格中断显示在搜索结果、产品页面、购物车和结帐页面中。我必须尽快解决这个问题才能在假期期间破解它,所以目前我这样做的方式是这样的:
产品详情.aspx
if (user == "at@at.com") {
Product. Price * 20
}
else {
Product.Price
}
正如您所看到的,这暂时有效,但是我必须对所有 4 个页面都这样做,并且随着我们折扣用户的增加,这可能会变得太长和平凡。我正在寻找一种方法来绕过这么长的 if/else 语句,并且想知道使用存储过程或方法是否有意义?
解决方案
我建议在数据库中的用户表或任何适当的表中添加一个折扣字段,并将折扣信息保存在那里。您还可以创建一个新表来保存与不同用户相关的折扣信息,并设法返回折扣值,而不是通过 if/else 语句。
推荐阅读
- woocommerce - 将 Woocommerce 存款插件“未来付款”总计更改为每月?
- r - 使用 R 单击网页中的按钮
- javascript - 如何在 Recharts 中为 YAxis 创建一个自定义垂直标签,以防标签太长?
- java - 如果我有一个字符串,如何在日历上设置 maxDate?
- selenium - 如何在 UWP 中使用 WinAppDriver 等待元素?
- sql - 大日期范围内的最小/最大日期值取决于值
- laravel - 如何获取特定用户的一列的平均值
- php - 从 codeigniter 中的查询获取结果时出错
- c# - 将多个实现注册到同一个接口
- arrays - 在 char 数组中的每个字符串之间添加空字符串