private Excel_fixedCouponScheduleViewModel couponScheduleVMBuild(Excel_fixedBond_subScheduleViewModel subSchedule)
        {
            Excel_fixedCouponScheduleViewModel e_fcsvm = new Excel_fixedCouponScheduleViewModel();

            e_fcsvm.EventDate_ = subSchedule.PaymentDate_;
            e_fcsvm.CalculationStartDate_ = subSchedule.CalculationStartDate_;
            e_fcsvm.CalculationEndDate_ = subSchedule.CalculationEndDate_;
            e_fcsvm.PayoffDate_ = subSchedule.PaymentDate_;

            //

            return e_fcsvm;
        }
        public override void scheduleDataGenerate()
        {
            this.excel_fixedBond_subScheduleViewModel_.Clear();

            FixedBond_TradeString fb_ts = new FixedBond_TradeString();

            fb_ts.parsingString(this.productString_);

            #region block

            #region comment
            
            
            //this.scheduleGeneratorVM_.InitialDate_ = this.effectiveDate_;
            //this.scheduleGeneratorVM_.EndDate_ = this.maturity_;
            //this.scheduleGeneratorVM_.Tenor_ = this.couponTenor_;
            //this.scheduleGeneratorVM_.PaymentDays_ = this.settlementDays_;

            //this.scheduleGeneratorVM_.Calendar_ = 
            //this.scheduleGeneratorVM_.DateGeneration_ = this.date

            //QLNet.Period maturityPeriod = new Period(maturityTenor, tu);
            //QLNet.Period maturityPeriod = new Period(this.maturity_);

            //// Y 말고 M도 처리해야함 // 우선은 int로 하자 1.5Y이런거는 잠시 대기
            //int maturityTenor = maturityPeriod.length();

            //TimeUnit tu = maturityPeriod.units(); //TimeUnit.Years;

            //this.scheduleGeneratorVM_.EndDate_ = this.effectiveDate_.AddYears(maturityTenor);

            //QLNet.Period couponPeriod = new Period(this.couponTenor_); //new Period(couponTenor, tu);

            //// coupon
            //int couponTenor = couponPeriod.length();
            //double couponMultiplier = Convert.ToDouble(couponPeriod.frequency());//1.0;

            //this.scheduleGeneratorVM_.Tenor_ = couponPeriod.ToShortString();

            //int addingDays = 0;

            //this.scheduleGeneratorVM_.genDates(addingDays);

            //ObservableCollection<DateTime> eventDates = this.scheduleGeneratorVM_.Dates_;

            //int scheduleLength = eventDates.Count;

            //this.SettlementDays_ = Convert.ToInt32(tsm.SettlementDays_);

            #endregion

            #endregion

            this.scheduleGeneratorVM_.genDates();

            for (int i = 0; i < this.scheduleGeneratorVM_.Dates_.Count - 1; i++)
            {
                Excel_fixedBond_subScheduleViewModel data = new Excel_fixedBond_subScheduleViewModel();

                data.EventDate_ = this.scheduleGeneratorVM_.Dates_[i+1];

                data.CalculationStartDate_ = this.scheduleGeneratorVM_.Dates_[i];
                data.CalculationEndDate_ = this.scheduleGeneratorVM_.Dates_[i + 1];
                data.PaymentDate_ = this.scheduleGeneratorVM_.Dates_[i + 1].AddDays(Convert.ToDouble(this.scheduleGeneratorVM_.PaymentDays_));
                data.FixedRate_ = this.FixedRate_;

                this.excel_fixedBond_subScheduleViewModel_.Add(data);
            }

        }
 public override void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class)
 {
     FpmlSerializedCSharp.Excel_fixedBond_subtype serial_Excel_fixedBond_subtype = serial_Class as FpmlSerializedCSharp.Excel_fixedBond_subtype;
     FpmlSerializedCSharp.Excel_fixedBond_constantRate serial_Excel_fixedBond_constantRate = serial_Excel_fixedBond_subtype.Excel_fixedBond_constantRate_;
 
     //this.maturity_ = StringConverter.xmlDateToDateTime(serial_Excel_fixedBond_constantRate.Maturity_.ValueStr);
     //this.maturityPeriod_ = serial_Excel_fixedBond_constantRate.MaturityPeriod_.ValueStr;
     //this.couponTenor_ = serial_Excel_fixedBond_constantRate.CouponTenor_.ValueStr;
     //this.couponTenorPeriod_ = serial_Excel_fixedBond_constantRate.CouponTenorPeriod_.ValueStr;
     
     List<FpmlSerializedCSharp.Excel_fixedBond_subSchedule> serial_excel_fixedBond_subSchedule = serial_Excel_fixedBond_constantRate.Excel_fixedBond_subSchedule_;
     this.excel_fixedBond_subScheduleViewModel_ = new ObservableCollection<Excel_fixedBond_subScheduleViewModel>();
     foreach (var item in serial_excel_fixedBond_subSchedule)
     {
         //string type = item.Excel_type_.ValueStr;
         Excel_fixedBond_subScheduleViewModel viewModel = new Excel_fixedBond_subScheduleViewModel();
         viewModel.setFromSerial(item);
         this.excel_fixedBond_subScheduleViewModel_.Add(viewModel);
     }
     
     this.fixedRate_ = serial_Excel_fixedBond_constantRate.FixedRate_.ValueStr;
     //this.settlementDays_ = serial_Excel_fixedBond_constantRate.SettlementDays_.ValueStr;
     
 }