Repository

class SimulationRepository {
  SimulationRepository();

  // Get all SimulatorSessionModel
  List<SimulatorSessionInputModel> getSimulatorSessionModels();

  // Add new SimulatorSessionModel to db
  void addSimulatorSessionModel(SimulatorSessionInputModel simulation);

  // Remove a particular SimulatorSessionModel by id
  void deleteSimulatorSessionModel(String simulationId);

    // Set simulation as main simulation 
  void setIsMainSimulation(String simulationId, bool isMainSimulation);
  
  // Update Simulation Context
  void updateSimulatorSessionModel(String simulationId, SimulatorSessionInputModel simulation);

  // Get all SimulatorSessionModel
  List<SimulatorSessionItemInputModel> getSimulatorSessionItemModels(String simulationId);

  // Add new SimulatorSessionItemModel at simulationId
  void addSimulatorSessionItem(String simulationId, SimulatorSessionItemInputModel budgetItem);

  // Remove SimulatorSessionItemModel at simulationId
  void removeSimulatorSessionItem(String simulationId, String budgetItemId);

  // Update SimulatorSessionItemModel at simulationId
  void updateSimulatorSessionItem(String simulationId, SimulatorSessionItemInputModel budgetItem);
}