Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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 }
            });
        }