public override void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class)
        {
            FpmlSerializedCSharp.ReferenceCurve         serial_ReferenceCurve         = serial_Class as FpmlSerializedCSharp.ReferenceCurve;
            FpmlSerializedCSharp.CdsSpreadTermstructure serial_CdsSpreadTermstructure = serial_ReferenceCurve.CdsSpreadTermstructure_;

            this.type_ = serial_CdsSpreadTermstructure.Type_.ValueStr;

            this.interpolation_ = serial_CdsSpreadTermstructure.Interpolation_.ValueStr;

            this.daycounter_ = serial_CdsSpreadTermstructure.Daycounter_.ValueStr;

            this.calendar_ = serial_CdsSpreadTermstructure.Calendar_.ValueStr;

            this.businessDayConvention_ = serial_CdsSpreadTermstructure.BusinessDayConvention_.ValueStr;

            List <FpmlSerializedCSharp.RateData> serial_rateData = serial_CdsSpreadTermstructure.RateData_;

            this.rateDataViewModel_ = new ObservableCollection <RateDataViewModel>();
            foreach (var item in serial_rateData)
            {
                string            type      = item.Excel_type_.ValueStr;
                RateDataViewModel viewModel = RateDataViewModel.CreateRateData(type);
                viewModel.setFromSerial(item);
                this.rateDataViewModel_.Add(viewModel);
            }

            this.dateGeneration_ = serial_CdsSpreadTermstructure.DateGeneration_.ValueStr;

            this.recoveryRate_ = serial_CdsSpreadTermstructure.RecoveryRate_.ValueStr;
        }
        public static ReferenceCurveViewModel CreateReferenceCurve(FpmlSerializedCSharp.ISerialized serial_Class)
        {
            FpmlSerializedCSharp.ReferenceCurve serial_ReferenceCurve = serial_Class as FpmlSerializedCSharp.ReferenceCurve;
            string typeStr = serial_ReferenceCurve.Type_.ValueStr;

            return(ReferenceCurveViewModel.CreateReferenceCurve(typeStr));
        }