Esempio n. 1
0
        private void AddPieceFunction(int pieceKey, CalculateFunctionType funcType,
                                      Dictionary <string, string> parameters)
        {
            ICalculateWay newCalculateWay = null;

            switch (funcType)
            {
            case CalculateFunctionType.Constrant:
                newCalculateWay = new ConstCalculateWay();
                break;

            case CalculateFunctionType.Liner:
                newCalculateWay = new LinerCalculateWay();
                break;

            case CalculateFunctionType.Power:
                newCalculateWay = new PowerCalculateWay();
                break;

            case CalculateFunctionType.Ln:
                newCalculateWay = new LnCalculateWay();
                break;
            }

            if (newCalculateWay == null || !newCalculateWay.InitParameter(parameters))
            {
                return;
            }
            PieceWise[pieceKey] = newCalculateWay;
            Prepare();
        }
Esempio n. 2
0
 public void Update(int pieceKey, CalculateFunctionType funcType, Dictionary <string, string> parameters)
 {
     if (!PieceWise.ContainsKey(pieceKey))
     {
         return;
     }
     AddPieceFunction(pieceKey, funcType, parameters);
 }
Esempio n. 3
0
 public void AddByParam(int pieceKey, CalculateFunctionType funcType, Dictionary <string, string> parameters)
 {
     if (PieceWise.ContainsKey(pieceKey) || pieceKey <= 0)
     {
         return;
     }
     AddPieceFunction(pieceKey, funcType, parameters);
 }
Esempio n. 4
0
        public void UpdateAlgorithm(AlgorithmOpCode opCode, int pieceKey, CalculateFunctionType funcType,
                                    Dictionary <string, string> param)
        {
            switch (opCode)
            {
            case AlgorithmOpCode.AddFunc:
                CalculateAlgorithm.AddByParam(pieceKey, funcType, param);
                break;

            case AlgorithmOpCode.DeleteFunc:
                CalculateAlgorithm.Delete(pieceKey);
                break;

            case AlgorithmOpCode.UpdateFunc:
                CalculateAlgorithm.Update(pieceKey, funcType, param);
                break;
            }
        }
Esempio n. 5
0
 public void UpdateFeeCal(FeeType feeType, int pieceKey, CalculateFunctionType funcTyoe,
                          Dictionary <string, string> param)
 {
     _calculateStrategyProvider.GetCalculator(feeType)
     .UpdateAlgorithm(AlgorithmOpCode.UpdateFunc, pieceKey, funcTyoe, param);
 }