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(); }
public void Update(int pieceKey, CalculateFunctionType funcType, Dictionary <string, string> parameters) { if (!PieceWise.ContainsKey(pieceKey)) { return; } AddPieceFunction(pieceKey, funcType, parameters); }
public void AddByParam(int pieceKey, CalculateFunctionType funcType, Dictionary <string, string> parameters) { if (PieceWise.ContainsKey(pieceKey) || pieceKey <= 0) { return; } AddPieceFunction(pieceKey, funcType, parameters); }
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; } }
public void UpdateFeeCal(FeeType feeType, int pieceKey, CalculateFunctionType funcTyoe, Dictionary <string, string> param) { _calculateStrategyProvider.GetCalculator(feeType) .UpdateAlgorithm(AlgorithmOpCode.UpdateFunc, pieceKey, funcTyoe, param); }