Exemple #1
0
        /// <summary>
        /// Reads the <see cref="SpecificFailureMechanismEntity"/> and uses the information to create a <see cref="SpecificFailureMechanism"/>.
        /// </summary>
        /// <param name="entity">The <see cref="SpecificFailureMechanismEntity"/> to create a <see cref="SpecificFailureMechanism"/> with.</param>
        /// <param name="collector">The object keeping track of read operations.</param>
        /// <exception cref="ArgumentNullException">Thrown when any argument is <c>null</c>.</exception>
        internal static SpecificFailureMechanism Read(this SpecificFailureMechanismEntity entity, ReadConversionCollector collector)
        {
            if (entity == null)
            {
                throw new ArgumentNullException(nameof(entity));
            }

            if (collector == null)
            {
                throw new ArgumentNullException(nameof(collector));
            }

            var failureMechanism = new SpecificFailureMechanism
            {
                Name         = entity.Name,
                Code         = entity.Code,
                GeneralInput =
                {
                    N                          = (RoundedDouble)entity.N,
                    ApplyLengthEffectInSection = Convert.ToBoolean(entity.ApplyLengthEffectInSection)
                }
            };

            entity.ReadCommonFailureMechanismProperties(failureMechanism, collector);
            ReadFailureMechanismSectionResults(entity, failureMechanism, collector);
            return(failureMechanism);
        }