Beispiel #1
0
        ResponseDayCounterData GetDayCounterDic()
        {
            ResponseDayCounterData result = new ResponseDayCounterData();

            try
            {
                var dc = DataLayer.Repository.GetDayCounters();
                foreach (DayCounter i in dc)
                {
                    if (i != null &&
                        !String.IsNullOrEmpty(i.ClassName) &&
                        QuantLibAdaptor.GetDayCounterInformation(i)
                        )
                    {
                        result.DayCounterDic[i.Id] = i;
                    }
                }
                DataLayer.Repository.DayCounterDic = result.DayCounterDic;
            }
            catch (Exception ex)
            {
                while (ex.InnerException != null)
                {
                    ex = ex.InnerException;
                }

                result.Error         = new CustomException();
                result.Error.Message = ex.Message + ex.StackTrace;
            }

            return(result);
        }
Beispiel #2
0
        public string GetDayCounter(string id)
        {
            long idDc = JsonConvert.DeserializeObject <Int32>(id);

            ResponseDayCounterData tmp = GetDayCounterDic();

            return(JsonConvert.SerializeObject(tmp.DayCounterDic[idDc]));
        }
Beispiel #3
0
        /*
         * public string Init(DateTime settlementDate)
         * {
         *      ResponseInit tmp = InitInternal(settlementDate);
         *      return JsonConvert.SerializeObject(tmp);
         * }
         * ResponseInit InitInternal(DateTime settlementDate)
         * {
         *      ResponseInit result = new ResponseInit();
         *      try
         *      {
         *              // needs quantlib class factory
         *              result.dc = GetDayCounterDic();			// shell be before Rate and YieldCurveData, cos those are using DayCounter inside
         *              result.ccy = GetCurrencyDic();
         *              result.r = GetRateDic();
         *              result.b = GetBondDic();
         *
         *              // can be in local data storage
         *              //result.yc = GetYieldCurveDataDic();
         *              result.ycf = GetYcFamilyDic();
         *              result.xr = GetXRateDic();
         *              result.edh = GetEntryPointHistoryList(settlementDate, null);		// do it after rate/bond cos it uses Rate / Bond information (from QuantLib) inside
         *              result.xrh = GetXRateHistoryList(settlementDate, null);
         *      }
         *      catch (Exception ex)
         *      {
         *              while (ex.InnerException != null)
         *                      ex = ex.InnerException;
         *
         *              result.Error = new CustomException();
         *              result.Error.Message = ex.Message + ex.StackTrace;
         *      }
         *
         *      if ((result.dc.Error != null) ||
         *              (result.yc.Error != null) ||
         *              (result.ycf.Error != null) ||
         *              (result.ccy.Error != null) ||
         *              (result.r.Error != null) ||
         *              (result.b.Error != null) ||
         *              (result.xr.Error != null) ||
         *              (result.edh.Error != null) ||
         *              (result.xrh.Error != null))
         *      {
         *              result.Error = new CustomException();
         *              if (result.dc.Error != null)
         *                      result.Error.Message = result.dc.Error.Message;
         *              if (result.yc.Error != null)
         *                      result.Error.Message = result.Error.Message + result.yc.Error.Message;
         *              if (result.ycf.Error != null)
         *                      result.Error.Message = result.Error.Message + result.ycf.Error.Message;
         *              if (result.ccy.Error != null)
         *                      result.Error.Message = result.Error.Message + result.ccy.Error.Message;
         *              if (result.r.Error != null)
         *                      result.Error.Message = result.Error.Message + result.r.Error.Message;
         *              if (result.b.Error != null)
         *                      result.Error.Message = result.Error.Message + result.b.Error.Message;
         *              if (result.xr.Error != null)
         *                      result.Error.Message = result.Error.Message + result.xr.Error.Message;
         *              if (result.edh.Error != null)
         *                      result.Error.Message = result.Error.Message + result.edh.Error.Message;
         *              if (result.xrh.Error != null)
         *                      result.Error.Message = result.Error.Message + result.xrh.Error.Message;
         *
         *      }
         *      return result;
         * }
         */
        public string GetDayCounters()
        {
            ResponseDayCounterData tmp = GetDayCounterDic();

            return(JsonConvert.SerializeObject(tmp));
        }