import pandas as pd

from app.entity.strategy.MarketInfo import *
from app.entity.product.ChartDataBean import *

class SimulationCalculatorDataBean:
    def __init__(self, code='SimulationCalculatorDataBean', entityType='SimulationCalculatorDataBean',
                 marketInfo=None, scenario=None, strategyNames=[],   
                 axisMin=-1., axisMax=-1., 
                 optionMultiplierDict={}, portfolioDict={}, scenarioResultsDict={}, chartDataBeanDict = {}):
        self.code = code
        self.entityType = 'StrategyCalculatorDataBean'
        
        self.strategyNames = strategyNames
        
        self.scenario = scenario
        self.marketInfo = marketInfo
        self.axisMin = axisMin
        self.axisMax = axisMax

        self.optionMultiplierDict = optionMultiplierDict
        self.portfolioDict = portfolioDict
        self.scenarioResultsDict = scenarioResultsDict
        self.chartDataBeanDict = chartDataBeanDict
        
    def serialize(self):
        return {
                "code": self.code,
                "entityType": self.entityType,
                "marketInfo": self.marketInfo,
                "scenario": self.scenario,
                "strategyNames": self.strategyNames,
                "axisMin": self.axisMin,
                "axisMax": self.axisMax,
                "optionMultiplierDict": self.optionMultiplierDict,
                "portfolioDict": self.portfolioDict,
                "chartDataBeanDict": self.chartDataBeanDict,
                "scenarioResultsDict": self.scenarioResultsDict,
                }
