/// <summary> /// The fill calculation data. /// </summary> /// <param name="characteristicsType"> /// The characteristics category. /// </param> /// <param name="minSelectedMatters"> /// The minimum Selected Matters. /// </param> /// <param name="maxSelectedMatters"> /// The maximum Selected Matters. /// </param> /// <param name="submitName"> /// The submit button name. /// </param> /// <returns> /// The <see cref="Dictionary{String, Object}"/>. /// </returns> public Dictionary <string, object> FillViewData(CharacteristicCategory characteristicsType, int minSelectedMatters, int maxSelectedMatters, string submitName) { Dictionary <string, object> data = FillViewData(minSelectedMatters, maxSelectedMatters, submitName); Dictionary <string, object> characteristicsData = GetCharacteristicsData(characteristicsType); foreach ((string key, object value) in characteristicsData) { data.Add(key, value); } return(data); }
/// <summary> /// Get characteristics data (characteristics select list and dictionary). /// </summary> /// <param name="characteristicsCategory"> /// The characteristics category. /// </param> /// <returns> /// The <see cref="T:List"/>. /// </returns> /// <exception cref="InvalidEnumArgumentException"> /// Thrown if <see cref="CharacteristicCategory"/> is unknown. /// </exception> public Dictionary <string, object> GetCharacteristicsData(CharacteristicCategory characteristicsCategory) { List <CharacteristicSelectListItem> characteristicTypes; var characteristicsDictionary = new Dictionary <(short, short, short), short>(); switch (characteristicsCategory) { case CharacteristicCategory.Full: characteristicTypes = FullCharacteristicRepository.Instance.GetCharacteristicTypes(); var fullCharacteristics = FullCharacteristicRepository.Instance.CharacteristicLinks.ToArray(); foreach (var characteristic in fullCharacteristics) { characteristicsDictionary.Add(((short)characteristic.FullCharacteristic, (short)characteristic.Link, (short)characteristic.ArrangementType), characteristic.Id); } break; case CharacteristicCategory.Congeneric: characteristicTypes = CongenericCharacteristicRepository.Instance.GetCharacteristicTypes(); var congenericCharacteristics = CongenericCharacteristicRepository.Instance.CharacteristicLinks.ToArray(); foreach (var characteristic in congenericCharacteristics) { characteristicsDictionary.Add(((short)characteristic.CongenericCharacteristic, (short)characteristic.Link, (short)characteristic.ArrangementType), characteristic.Id); } break; case CharacteristicCategory.Accordance: characteristicTypes = AccordanceCharacteristicRepository.Instance.GetCharacteristicTypes(); var accordanceCharacteristics = AccordanceCharacteristicRepository.Instance.CharacteristicLinks.ToArray(); foreach (var characteristic in accordanceCharacteristics) { characteristicsDictionary.Add(((short)characteristic.AccordanceCharacteristic, (short)characteristic.Link, 0), characteristic.Id); } break; case CharacteristicCategory.Binary: characteristicTypes = BinaryCharacteristicRepository.Instance.GetCharacteristicTypes(); var binaryCharacteristics = BinaryCharacteristicRepository.Instance.CharacteristicLinks.ToArray(); foreach (var characteristic in binaryCharacteristics) { characteristicsDictionary.Add(((short)characteristic.BinaryCharacteristic, (short)characteristic.Link, 0), characteristic.Id); } break; default: throw new InvalidEnumArgumentException(nameof(characteristicsCategory), (byte)characteristicsCategory, typeof(CharacteristicCategory)); } return(new Dictionary <string, object>() { { "characteristicTypes", characteristicTypes }, { "characteristicsDictionary", characteristicsDictionary } }); }