Ejemplo n.º 1
0
        /// <summary>
        /// Adds the sensitivity set.
        /// </summary>
        /// <param name="measureType">The metrics.</param>
        /// <param name="measureValues">The analytic results.</param>
        /// <returns></returns>
        public static SensitivitySet[] BuildSensitivitySet(string measureType, Decimal[] measureValues)
        {
            var sensitivitySetList = new List <SensitivitySet>();
            var sensitivitySet     = new SensitivitySet
            {
                sensitivity =
                    measureValues.Select(
                        measureValue =>
                        new Sensitivity {
                    name = measureType, Value = measureValue
                }).ToArray()
            };

            //int index = 1;
            sensitivitySetList.Add(sensitivitySet);
            return(sensitivitySetList.ToArray());
        }
Ejemplo n.º 2
0
        public static SensitivitySet Add(SensitivitySet sensitivitySet1, SensitivitySet sensitivitySet2)
        {
            SensitivitySet result = SensitivitySetHelper.Copy(sensitivitySet1);//BinarySerializerHelper.Clone(sensitivitySet1);//TODO problem with the binary serializer
            var            proccessedMeasureTypes = new List <string>();

            foreach (Sensitivity bq1 in result.sensitivity)
            {
                proccessedMeasureTypes.Add(bq1.name);
                //var sensitivity = new Sensitivity {name = bq1.name, Value = bq1.Value};
                Sensitivity bq2 = GetSensitivityByName(sensitivitySet2, bq1.name);
                if (null != bq2)
                {
                    bq1.Value += bq2.Value;
                }
            }
            var bqToAddToList = sensitivitySet2.sensitivity.Where(bq2 => - 1 == proccessedMeasureTypes.IndexOf(bq2.name)).ToList();

            bqToAddToList.AddRange(result.sensitivity);
            result.sensitivity = bqToAddToList.ToArray();
            return(result);
        }
Ejemplo n.º 3
0
        public static SensitivitySet Copy(SensitivitySet baseSensitivitySet)
        {
            SensitivitySet result = null;

            if (baseSensitivitySet != null)
            {
                result = new SensitivitySet();
                if (baseSensitivitySet.sensitivity != null)
                {
                    result.sensitivity = SensitivityHelper.Copy(baseSensitivitySet.sensitivity);
                }
                if (baseSensitivitySet.definitionReference != null)
                {
                    result.definitionReference = new SensitivitySetDefinitionReference
                    {
                        href = baseSensitivitySet.definitionReference.href
                    };
                }
                result.id   = baseSensitivitySet.id;
                result.name = baseSensitivitySet.name;
            }
            return(result);
        }
Ejemplo n.º 4
0
 public static Sensitivity GetSensitivityByName(SensitivitySet sensitivitySet, string name)
 {
     return(sensitivitySet.sensitivity.FirstOrDefault(basicQuotation => name == basicQuotation.name));
 }