/// <summary>
        /// Adds a new Standard Dictionary or updates an existing one. Clears existing rigor level and rigor level counts before adding new data.
        /// </summary>
        /// <param name="standardID">Int value to be used as the KEY</param>
        /// <param name="rigorLevel">String value to be used as the Rigor Level Dictionary KEY</param>
        /// <param name="multiplechoiceCount">Int value to be set to the MultipleChoiceCount property of the RigorLevelCounts object</param>
        /// <param name="shortanswerCount">Int value to be set to the ShortAnswerCount property of the RigorLevelCounts object</param>
        /// <param name="essayCount">Int value to be set to the EssayCount property of the RigorLevelCounts object</param>
        /// <param name="truefalseCount">Int value to be set to the TrueFalseChoiceCount property of the RigorLevelCounts object</param>
        /// <param name="naCount">Int value to be set to the NACount property of the RigorLevelCounts object</param>
        public void AddLevel(int standardID, string rigorLevel, int multiplechoice3Count = 0, int multiplechoice4Count = 0, int multiplechoice5Count = 0, int shortanswerCount = 0, int essayCount = 0, int truefalseCount = 0, int blueprintCount = 0)
        {
            RigorLevelCounts newRigorCounts = new RigorLevelCounts(multiplechoice3Count, multiplechoice4Count, multiplechoice5Count, shortanswerCount, essayCount, truefalseCount, blueprintCount); //Create object to hold counts
            Dictionary<string, RigorLevelCounts> newRigorLevel = new Dictionary<string, RigorLevelCounts>(); //Create rigor level object

            newRigorLevel.Add(rigorLevel, newRigorCounts); //Add counts to rigor level


            if (_standardRigorLevel.ContainsKey(standardID))
            {
                _standardRigorLevel[standardID].Remove(rigorLevel); //Remove possible existing rigor level
                _standardRigorLevel[standardID].Add(rigorLevel, newRigorCounts); //Add new rigor level and counts to standard
            }
            else
            {
                _standardRigorLevel.Add(standardID, newRigorLevel); //Add new standard, rigor level, and counts
            }

            //Calculate total item count and store in the StandardItemTotals dictionary
            //int totalItemCount = multiplechoiceCount + shortanswerCount + essayCount + truefalseCount;
            //AddStandardItemTotal(standardID, totalItemCount);
        }
 private RigorLevelCounts GetRigorLevelCounts(RigorLevelCounts rigorLevelCounts, int itemCount, string questionType)
 {
     switch (questionType)
     {
         case "MultipleChoice3":
             return new RigorLevelCounts(itemCount, rigorLevelCounts.MultipleChoice4Count, rigorLevelCounts.MultipleChoice5Count, rigorLevelCounts.ShortAnswerCount, rigorLevelCounts.EssayCount, rigorLevelCounts.TrueFalseCount, rigorLevelCounts.BlueprintCount);
         case "MultipleChoice4":
             return new RigorLevelCounts(rigorLevelCounts.MultipleChoice3Count, itemCount, rigorLevelCounts.MultipleChoice5Count, rigorLevelCounts.ShortAnswerCount, rigorLevelCounts.EssayCount, rigorLevelCounts.TrueFalseCount, rigorLevelCounts.BlueprintCount);
         case "MultipleChoice5":
             return new RigorLevelCounts(rigorLevelCounts.MultipleChoice3Count, rigorLevelCounts.MultipleChoice4Count, itemCount, rigorLevelCounts.ShortAnswerCount, rigorLevelCounts.EssayCount, rigorLevelCounts.TrueFalseCount, rigorLevelCounts.BlueprintCount);
         case "ShortAnswer":
             return new RigorLevelCounts(rigorLevelCounts.MultipleChoice3Count, rigorLevelCounts.MultipleChoice4Count, rigorLevelCounts.MultipleChoice5Count, itemCount, rigorLevelCounts.EssayCount, rigorLevelCounts.TrueFalseCount, rigorLevelCounts.BlueprintCount);
         case "Essay":
             return new RigorLevelCounts(rigorLevelCounts.MultipleChoice3Count, rigorLevelCounts.MultipleChoice4Count, rigorLevelCounts.MultipleChoice5Count, rigorLevelCounts.ShortAnswerCount, itemCount, rigorLevelCounts.TrueFalseCount, rigorLevelCounts.BlueprintCount);
         case "TrueFalse":
             return new RigorLevelCounts(rigorLevelCounts.MultipleChoice3Count, rigorLevelCounts.MultipleChoice4Count, rigorLevelCounts.MultipleChoice5Count, rigorLevelCounts.ShortAnswerCount, rigorLevelCounts.EssayCount, itemCount, rigorLevelCounts.BlueprintCount);
         case "OperationalBPCount":
             return new RigorLevelCounts(rigorLevelCounts.MultipleChoice3Count, rigorLevelCounts.MultipleChoice4Count, rigorLevelCounts.MultipleChoice5Count, rigorLevelCounts.ShortAnswerCount, rigorLevelCounts.EssayCount, rigorLevelCounts.TrueFalseCount, itemCount);
         default:
             return rigorLevelCounts;
     }
 }
        private int GetRigorLevelCount(RigorLevelCounts rigorLevelCounts, string questionType)
        {
            switch (questionType)
            {
                case "MultipleChoice3":
                    return rigorLevelCounts.MultipleChoice3Count;
                case "MultipleChoice4":
                    return rigorLevelCounts.MultipleChoice4Count;
                case "MultipleChoice5":
                    return rigorLevelCounts.MultipleChoice5Count;
                case "ShortAnswer":
                    return rigorLevelCounts.ShortAnswerCount;
                case "Essay":
                    return rigorLevelCounts.EssayCount;
                case "TrueFalse":
                    return rigorLevelCounts.TrueFalseCount;
                case "OperationalBPCount":

                    return rigorLevelCounts.BlueprintCount;
                default:
                    return 0;
            }
        }