Esempio n. 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="IIdentifier"/> class.
 /// </summary>
 /// <param name="properties">The properties. they must include:
 /// PricingStructureType, CurveName, BuildDateTime and Algorithm.</param>
 public PricingStructurePropertiesIdentifier(NamedValueSet properties)
 {
     Properties = properties;
     try
     {
         DataType             = "Properties.PricingStructures";
         SourceSystem         = PropertyHelper.ExtractSourceSystem(properties);
         Domain               = SourceSystem + '.' + DataType;
         Id                   = PropertyHelper.ExtractPropertyIdentifier(properties);
         PricingStructureType = PropertyHelper.ExtractPricingStructureType(properties);
         UniqueIdentifier     = BuildUniqueId();
         PropertyHelper.Update(Properties, CurveProp.UniqueIdentifier, UniqueIdentifier);
         PropertyHelper.Update(Properties, "Domain", Domain);
     }
     catch (System.Exception)
     {
         throw new System.Exception("Invalid pricingstrucutre property name.");
     }
 }
        private void SetProperties()
        {
            SourceSystem         = PropertyHelper.ExtractSourceSystem(Properties);
            PricingStructureType = PropertyHelper.ExtractPricingStructureType(Properties);
            Domain        = SourceSystem + '.' + DataType;
            BuildDateTime = PropertyHelper.ExtractBuildDateTime(Properties);
            BaseDate      = PropertyHelper.ExtractBaseDate(Properties);
            Algorithm     = PropertyHelper.ExtractAlgorithm(Properties);
            Market        = PropertyHelper.ExtractMarket(Properties);
            MarketAndDate = PropertyHelper.ExtractMarketAndDate(Properties);
            Index         = PropertyHelper.ExtractIndex(Properties);
            IndexTenor    = PropertyHelper.ExtractIndexTenor(Properties);
            CurveName     = PropertyHelper.ExtractCurveName(Properties);
            Currency      = CurrencyHelper.Parse(PropertyHelper.ExtractCurrency(Properties));
            DateTime?marketDate = PropertyHelper.ExtractMarketDate(Properties);

            MarketDate       = marketDate ?? MarketDate;
            StressName       = Properties.GetValue <string>(CurveProp.StressName, false);
            NameSpace        = Properties.GetValue <string>(EnvironmentProp.NameSpace, false);
            Id               = BuildId();
            UniqueIdentifier = SetUniqueId();
        }