public JsonNetResult EvalDatabindExpression(int configurationID, string expression)
        {
            //Data return controlTagElem
            JsonNetResult result = new JsonNetResult();

            //Get the ConfiguratorSession
            ConfiguratorSession configSession = SessionData.ConfiguratorSessions[configurationID];
            SolverService solverService = new SolverService();

            //Get the implicit selections for the other features
            result.Data = solverService.EvalExpression(ref configSession, expression);

            return result;
        }
        public JsonNetResult ToggleFeature(int configurationID, int featureID, int newStateID)
        {
            //Variables
            JsonNetResult result = new JsonNetResult();
            ConfiguratorSession configSession = SessionData.ConfiguratorSessions[configurationID];
            SolverService solverService = new SolverService();

            //Modify the feature state the feature and get the resulting feedback
            BLL.BusinessObjects.FeatureSelectionStates newSelectionState = (BLL.BusinessObjects.FeatureSelectionStates)newStateID;
            solverService.UserToggleFeature(ref configSession, featureID, newSelectionState);

            //Return
            result.Data = configSession.Configuration.FeatureSelections.ToDictionary(g => g.FeatureID, k => k);
            return result;
        }