Exemplo n.º 1
0
        /// <summary>
        /// Calculate an adjusted value from the question weight, type and answer.
        /// </summary>
        /// <returns></returns>
        public static SurveyOutcome CalcOutcome(this SurveyResponse result)
        {
            if (result.CampaignForResults == null)
            {
                throw new ArgumentException("result missing campaign");
            }

            if (result.CampaignForResults.SurveyForCampaign == null)
            {
                throw new ArgumentException("result missing survey");
            }


            if (result.SurveyResponseCalculatedValue == null)
            {
                throw new ArgumentException("result missing SurveyResponseCalculatedValue");
            }

            var outcomes = result.CampaignForResults.SurveyForCampaign.SurveyOutcomes;

            return(result.CalcOutcome(outcomes, result.SurveyResponseCalculatedValue));
        }
Exemplo n.º 2
0
 /// <summary>
 /// Update the results weighted values and the outcomes. Input must be writable.
 /// </summary>
 /// <param name="result"></param>
 public static void UpdateWeightedValueAndOutcomes(this SurveyResponse result)
 {
     result.SurveyResponseCalculatedValue = result.CalcWeightedValue();
     result.SurveyResponseOutcome         = result.CalcOutcome();
 }