Name

sn_decision_table.AnswerRepository

Description

No description available

Script

var AnswerRepository = Class.create();
AnswerRepository.prototype = {
  initialize: function() {},

  getOrCreateMultipleAnswerRecords: function(decisionTableSysId, answerElementValuesDetails) {
      var answerElementValuesMap = this._getAnswerElementValuesMap(answerElementValuesDetails);
      var dt = new sn_dt.DecisionTableAPI();
      var multiAnswerRecordDetails = dt.findOrCreateMultipleAnswerRecords(decisionTableSysId, answerElementValuesMap);

      var answerElementValuesList = [];
      for (var key in multiAnswerRecordDetails) {
          if (multiAnswerRecordDetails.hasOwnProperty(key)) {
              answerElementValuesList.push({
                  decisionQuestionSysId: key,
                  answerSysId: multiAnswerRecordDetails[key]
              });
          }
      }

      return answerElementValuesList;
  },

  _getAnswerElementValuesMap: function(answerElementValuesDetails) {
      var answerElementValuesMap = new Object();

      for (var i = 0; i < answerElementValuesDetails.length; i++) {
          var currentAnswerElementValueDetails = answerElementValuesDetails[i];
          var decisionQuestionId = currentAnswerElementValueDetails.decisionQuestionSysId;
          var label = currentAnswerElementValueDetails.label;
          var answerElementValues = currentAnswerElementValueDetails.answerElementValues;
          var answerElementValuesObj = new Object();

          for (var j = 0; j < answerElementValues.length; j++) {
              answerElementValuesObj[answerElementValues[j].name] = answerElementValues[j].value;
          }
          answerElementValuesObj.label = label;
          answerElementValuesMap[decisionQuestionId] = answerElementValuesObj;
      }

      return answerElementValuesMap;
  },

  getOrCreateMultipleAnswerRecord: function(decisionTableSysId, answerElementValues, answerLabel) {
      var answerElementValuesObj = new Object();
      for (var i = 0; i < answerElementValues.length; i++) {
          answerElementValuesObj[answerElementValues[i].name] = answerElementValues[i].value;
      }
      answerElementValuesObj.label = answerLabel;


      var dt = new sn_dt.DecisionTableAPI();
      return dt.findOrCreateMultipleAnswerRecord(decisionTableSysId, answerElementValuesObj);
  },
  type: 'AnswerRepository'
};

Sys ID

544bc6af53f7011097a3ddeeff7b128b

Offical Documentation

Official Docs: