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; }