public override void setFromSerial(FpmlSerializedCSharp.ISerialized serial_Class) { FpmlSerializedCSharp.Excel_schedule serial_Excel_schedule = serial_Class as FpmlSerializedCSharp.Excel_schedule; FpmlSerializedCSharp.Excel_simpleCalculation serial_Excel_simpleCalculation = serial_Excel_schedule.Excel_simpleCalculation_; FpmlSerializedCSharp.Excel_eventCalcInfo serial_excel_eventCalcInfo = serial_Excel_simpleCalculation.Excel_eventCalcInfo_; string excel_eventCalcInfotype = serial_excel_eventCalcInfo.Type_.ValueStr; this.excel_eventCalcInfoViewModel_ = Excel_eventCalcInfoViewModel.CreateExcel_eventCalcInfo(excel_eventCalcInfotype); this.excel_eventCalcInfoViewModel_.setFromSerial(serial_excel_eventCalcInfo); FpmlSerializedCSharp.Excel_returnCalcInfo serial_excel_returnCalcInfo = serial_Excel_simpleCalculation.Excel_returnCalcInfo_; string excel_returnCalcInfotype = serial_excel_returnCalcInfo.Type_.ValueStr; this.excel_returnCalcInfoViewModel_ = Excel_returnCalcInfoViewModel.CreateExcel_returnCalcInfo(excel_returnCalcInfotype); this.excel_returnCalcInfoViewModel_.setFromSerial(serial_excel_returnCalcInfo); FpmlSerializedCSharp.Excel_complementReturnCalc serial_excel_complementReturnCalc = serial_Excel_simpleCalculation.Excel_complementReturnCalc_; string excel_complementReturnCalctype = serial_excel_complementReturnCalc.Type_.ValueStr; this.excel_complementReturnCalcViewModel_ = Excel_complementReturnCalcViewModel.CreateExcel_complementReturnCalc(excel_complementReturnCalctype); this.excel_complementReturnCalcViewModel_.setFromSerial(serial_excel_complementReturnCalc); FpmlSerializedCSharp.Excel_eventCalcInfo_Call serial_excel_eventCalcInfo_Call = serial_Excel_simpleCalculation.Excel_eventCalcInfo_Call_; string excel_eventCalcInfo_Calltype = serial_excel_eventCalcInfo_Call.Type_.ValueStr; this.excel_eventCalcInfo_CallViewModel_ = Excel_eventCalcInfo_CallViewModel.CreateExcel_eventCalcInfo_Call(excel_eventCalcInfo_Calltype); this.excel_eventCalcInfo_CallViewModel_.setFromSerial(serial_excel_eventCalcInfo_Call); FpmlSerializedCSharp.Excel_returnCalcInfo_Call serial_excel_returnCalcInfo_Call = serial_Excel_simpleCalculation.Excel_returnCalcInfo_Call_; string excel_returnCalcInfo_Calltype = serial_excel_returnCalcInfo_Call.Type_.ValueStr; this.excel_returnCalcInfo_CallViewModel_ = Excel_returnCalcInfo_CallViewModel.CreateExcel_returnCalcInfo_Call(excel_returnCalcInfo_Calltype); this.excel_returnCalcInfo_CallViewModel_.setFromSerial(serial_excel_returnCalcInfo_Call); this.view_ = new Excel_simpleCalculationView(); this.view_.DataContext = this; }
public string add_monthlyCoupon_sch(DateTime eventDate, DateTime payoffDate, double lowerTrigger, double upperTrigger, //CalculationEnum underCalcType, string underCalcType, string underlyings, double constCoupon) { try { #region CheckParameter if (underlyings == "") { throw new Exception("underlying input is empty"); } // check underlying if (!this.hasUnderlyings(underlyings)) { throw new Exception(underlyings + " does not exist. add underlying first."); } #endregion Excel_simpleCalculationViewModel e_scvm = new Excel_simpleCalculationViewModel(); //this.addUnderlying(underlyings); Excel_underlyingCalcInfoViewModel e_ucivm = this.InstVM_.Excel_interfaceViewModel_.Excel_underlyingCalcInfoViewModel_; e_scvm.Excel_underlyingCalcInfoViewModel_ = e_ucivm; e_scvm.EventDate_ = eventDate; e_scvm.PayoffDate_ = payoffDate; #region EventCal //--------------------------------------------------------------- { //Excel_eventCalcInfoViewModel e_ecivm = new Excel_eventCalcInfoViewModel(); Excel_singleRangeEventCalViewModel e_srecvm = new Excel_singleRangeEventCalViewModel(); e_srecvm.Excel_underlyingCalcInfoViewModel_ = e_ucivm; e_srecvm.LowerRng_ = lowerTrigger.ToString(); e_srecvm.UpperRng_ = upperTrigger.ToString(); // 우선 max를 사용함 Excel_underlyingCalcIDViewModel e_mucidvm = Excel_underlyingCalcIDViewModel.CreateExcel_underlyingCalcID(underCalcType); e_mucidvm.EventDate_ = eventDate; e_mucidvm.setUnderlying(e_ucivm); e_mucidvm.selectUnderlyings(underlyings); e_srecvm.Excel_underlyingCalcIDViewModel_ = e_mucidvm; //e_ecivm.Excel_eventCalcViewModel_.Add(e_srecvm); e_scvm.Excel_eventCalcInfoViewModel_ = e_srecvm; //info 에 드가는 곱하기라던지 floor라던지 postCalculation 같은게 붙어야함 } #endregion #region ReturnCal //--------------------------------------------------------------- { //Excel_returnCalcInfoViewModel e_rcivm = new Excel_returnCalcInfoViewModel(); Excel_constReturnCalViewModel e_crcvm = new Excel_constReturnCalViewModel(); e_crcvm.Excel_underlyingCalcInfoViewModel_ = e_ucivm; e_crcvm.ConstReturn_ = constCoupon.ToString(); //e_rcivm.Excel_returnCalcViewModel_.Add(e_crcvm); e_scvm.Excel_returnCalcInfoViewModel_ = e_crcvm; //info 에 드가는 곱하기라던지 floor라던지 postCalculation 같은게 붙어야함 } #endregion #region ComplementReturnCal { Excel_complementReturnCalcViewModel e_comp_rcvm = new Excel_complementReturnCalcViewModel(); Excel_constReturnCalViewModel e_crcvm = new Excel_constReturnCalViewModel(); e_crcvm.Excel_underlyingCalcInfoViewModel_ = e_ucivm; e_crcvm.ConstReturn_ = "0.0"; e_comp_rcvm.Excel_returnCalcInfoViewModel_ = e_crcvm; e_scvm.Excel_complementReturnCalcViewModel_ = e_comp_rcvm; } #endregion Excel_hifiveViewModel e_hvm = this.InstVM_.Excel_interfaceViewModel_ as Excel_hifiveViewModel; e_hvm.Excel_scheduleListViewModel_.Excel_scheduleViewModel_.Add(e_scvm); return("add complete"); } catch (Exception e) { return("add fail : " + e.Message); } }
public string add_autoCall_sch(DateTime eventDate, DateTime payoffDate, double lowerTrigger, double upperTrigger, //CalculationEnum underCalcType, string underCalcType, string underlyings, double constCoupon) { try { #region CheckParameter if (underlyings == "") { throw new Exception("underlying input is empty"); } // check underlying if (!this.hasUnderlyings(underlyings)) { throw new Exception(underlyings + " does not exist. add underlying first."); } #endregion Excel_simpleCalculationViewModel e_scvm = new Excel_simpleCalculationViewModel(); //this.addUnderlying(underlyings); Excel_underlyingCalcInfoViewModel e_ucivm = this.InstVM_.Excel_interfaceViewModel_.Excel_underlyingCalcInfoViewModel_; e_scvm.Excel_underlyingCalcInfoViewModel_ = e_ucivm; e_scvm.EventDate_ = eventDate; e_scvm.PayoffDate_ = payoffDate; #region EventCal //--------------------------------------------------------------- { //Excel_eventCalcInfoViewModel e_ecivm = new Excel_eventCalcInfoViewModel(); Excel_singleRangeEventCalViewModel e_srecvm = new Excel_singleRangeEventCalViewModel(); e_srecvm.Excel_underlyingCalcInfoViewModel_ = e_ucivm; e_srecvm.LowerRng_ = lowerTrigger.ToString(); e_srecvm.UpperRng_ = upperTrigger.ToString(); // 우선 max를 사용함 Excel_underlyingCalcIDViewModel e_mucidvm = Excel_underlyingCalcIDViewModel.CreateExcel_underlyingCalcID(underCalcType); e_mucidvm.EventDate_ = eventDate; e_mucidvm.setUnderlying(e_ucivm); e_mucidvm.selectUnderlyings(underlyings); e_srecvm.Excel_underlyingCalcIDViewModel_ = e_mucidvm; //e_ecivm.Excel_eventCalcViewModel_.Add(e_srecvm); e_scvm.Excel_eventCalcInfoViewModel_ = e_srecvm; //info 에 드가는 곱하기라던지 floor라던지 postCalculation 같은게 붙어야함 } #endregion #region ReturnCal //--------------------------------------------------------------- { //Excel_returnCalcInfoViewModel e_rcivm = new Excel_returnCalcInfoViewModel(); Excel_constReturnCalViewModel e_crcvm = new Excel_constReturnCalViewModel(); e_crcvm.Excel_underlyingCalcInfoViewModel_ = e_ucivm; e_crcvm.ConstReturn_ = constCoupon.ToString(); //e_rcivm.Excel_returnCalcViewModel_.Add(e_crcvm); e_scvm.Excel_returnCalcInfoViewModel_ = e_crcvm; //info 에 드가는 곱하기라던지 floor라던지 postCalculation 같은게 붙어야함 } #endregion #region ComplementReturnCal { Excel_complementReturnCalcViewModel e_comp_rcvm = new Excel_complementReturnCalcViewModel(); Excel_constReturnCalViewModel e_crcvm = new Excel_constReturnCalViewModel(); e_crcvm.Excel_underlyingCalcInfoViewModel_ = e_ucivm; e_crcvm.ConstReturn_ = "0.0"; e_comp_rcvm.Excel_returnCalcInfoViewModel_ = e_crcvm; e_scvm.Excel_complementReturnCalcViewModel_ = e_comp_rcvm; } #endregion #region AutoCall_Event //--------------------------------------------------------------- { Excel_eventCalcInfo_CallViewModel e_ecicvm = new Excel_eventCalcInfo_CallViewModel(); Excel_singleRangeEventCalViewModel e_srecvm = new Excel_singleRangeEventCalViewModel(); e_srecvm.Excel_underlyingCalcInfoViewModel_ = e_ucivm; e_srecvm.LowerRng_ = lowerTrigger.ToString(); e_srecvm.UpperRng_ = upperTrigger.ToString();; //처음꺼만 사용함 Excel_underlyingCalcIDViewModel e_mucidvm = Excel_underlyingCalcIDViewModel.CreateExcel_underlyingCalcID(underCalcType); e_mucidvm.EventDate_ = eventDate; e_mucidvm.setUnderlying(e_ucivm); e_mucidvm.selectUnderlyings(underlyings); e_srecvm.Excel_underlyingCalcIDViewModel_ = e_mucidvm; e_ecicvm.Excel_eventCalcInfoViewModel_ = e_srecvm; e_scvm.Excel_eventCalcInfo_CallViewModel_ = e_ecicvm; //info 에 드가는 곱하기라던지 floor라던지 postCalculation 같은게 붙어야함 } #endregion #region AutoCall_ReturnCal //--------------------------------------------------------------- { Excel_returnCalcInfo_CallViewModel e_rcicvm = new Excel_returnCalcInfo_CallViewModel(); Excel_constReturnCalViewModel e_crcvm = new Excel_constReturnCalViewModel(); e_crcvm.Excel_underlyingCalcInfoViewModel_ = e_ucivm; e_crcvm.ConstReturn_ = "0.0"; // 원금 e_rcicvm.Excel_returnCalcInfoViewModel_ = e_crcvm; e_scvm.Excel_returnCalcInfo_CallViewModel_ = e_rcicvm; //info 에 드가는 곱하기라던지 floor라던지 postCalculation 같은게 붙어야함 } #endregion Excel_hifiveViewModel e_hvm = this.InstVM_.Excel_interfaceViewModel_ as Excel_hifiveViewModel; e_hvm.Excel_scheduleListViewModel_.Excel_scheduleViewModel_.Add(e_scvm); int schNum = e_hvm.Excel_scheduleListViewModel_.Excel_scheduleViewModel_.Count - 1; //Type type = this. GetType(); //MethodInfo methodInfo = type.GetMethod("add_autoCall_sch"); //ParameterInfo[] paraList = methodInfo.GetParameters(); List <string> member = new List <string>() { "instType", "type", "schNum", "eventDate", "payoffDate", "lowerTrigger", "upperTrigger", "underCalcType", "underlyings", "constCoupon" }; List <string> value = new List <string>() { "hifive", "autoCall_sch", schNum.ToString(), StringConverter.xmlDateTimeToDateString(eventDate), StringConverter.xmlDateTimeToDateString(payoffDate), lowerTrigger.ToString(), upperTrigger.ToString(), underCalcType, underlyings, constCoupon.ToString() }; e_scvm.VBA_description_ = this.vba_description(member, value); return("add complete"); } catch (Exception e) { return("add fail : " + e.Message); } }