/// <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()); }
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); }
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); }
public static Sensitivity GetSensitivityByName(SensitivitySet sensitivitySet, string name) { return(sensitivitySet.sensitivity.FirstOrDefault(basicQuotation => name == basicQuotation.name)); }