使用存储在数据库中的阈值进行迭代

时间:2016-08-27 17:53:05

标签: c#

我在数据库中保存的每个月都有可变数量的事务。我必须根据0-100交易结构计算付款,每笔交易1欧元,每个101-200欧元,201欧元每个3欧元等等。前100笔交易我将支付100欧元,接下来的100笔交易我将以这种方式支付200欧元。直到这里对我来说很容易,问题变成因为阈值的数量(在前面的例子中是3),可以是变量,有时是3,其他时间可以是2,4,5或其他。这些阈值存储在数据库的表中。请有人帮助我。提前谢谢。

1 个答案:

答案 0 :(得分:0)

对于数据库中的每个阈值,您将得到一个LOWER和UPPER界限以及Price(0,100,1),(101,200,2),(201,300,3)。

将阈值加载到List中,每个成员包含lower,upper和price

List<int[]> thresholds = new List<int[]>
thresholds.Add(new int[]{0,100,1});
thresholds.Add(new int[]{101,200,2);//etc.

private void calculateTotal(int numberSold){
    int total =0;
    foreach(int[] bound in thresholds){
        if(numberSold>=bound[0]&&numberSold<=bound[1]{
            total+= bound[2]*numberSold;
         }
     }
     return total;
 }

根据你有限的问题,我能为你做的最好的事情。玩这个,如果您遇到问题,请根据您创建的代码和您遇到的具体问题询问具体问题。