protected void CheckDate(KDateTime asof, KDateTime date) { if (date < asof) { throw new Exception("target date is anterior to asof date."); } }
public void Load() { if (Model.Value != null) { this.Content.Text = Model.Value.Text; this.SendTime.Text = KDateTime.ConverToTimeDisplay(Model.Value.SendTime); } }
public T GetValue(KDateTime label) { if (Keys.Contains(label)) { return(Values[Keys.IndexOf(label)]); } return(Interpolator <KDateTime, T> .Interpolate(Keys, Values, label, InterpolType)); }
/// <summary> /// Regard Rate as zero coupon rate, given a zero date and return discount factor.<br/> /// zero => discount factor /// </summary> /// <param name="asof"></param> /// <param name="date"></param> /// <returns></returns> public double DiscountValue(KDateTime asof, KDateTime date) { CheckDate(asof, date); if (CompFreq == Frequency.Continuous) { return(System.Math.Exp(-Rate.GetValue(date) * TimeUtil.AccurateYearSpan(asof, date, DayCount))); } return(System.Math.Pow( 1 + Rate.GetValue(date) / (int)CompFreq, -(int)CompFreq * TimeUtil.AccurateYearSpan(asof, date, DayCount))); }
/// <summary> /// Regard Rate as discount rate, given a present date and return zero rate.<br/> /// discount factor => zero /// </summary> /// <param name="asof"></param> /// <param name="date"></param> /// <returns></returns> public double ReturnValue(KDateTime asof, KDateTime date) { CheckDate(asof, date); if (CompFreq == Frequency.Continuous) { return(-System.Math.Log(Rate.GetValue(date)) / TimeUtil.AccurateYearSpan(asof, date, DayCount)); } return((int)CompFreq * (System.Math.Pow( Rate.GetValue(date), -1 / (int)CompFreq / TimeUtil.AccurateYearSpan(asof, date, DayCount)) - 1)); }
public Flight[] GetAvailability(String Origin, String Destination, String DepartureDate) { String url; if (BaseURL == null) { url = BaseAvailabilityURL; } else { url = BaseURL; } KDateTime kdt = new KDateTime(); kdt = kdt.setDate(DepartureDate); url += BaseURL + "/AvailabilityJS.jsp?AirLine=" + AirLine + "&cbSource=" + Origin + "&cbTarget=" + Destination + "&OfficeUser="******"&OfficePass="******"&cbDay1=" + kdt.getShamsiDayOfMonth() + "&cbMonth1=" + kdt.getShamsiMonthOfYear(); String jsonResponse = sendHttpRequest(url); JObject CitiesJO = JObject.Parse(jsonResponse); //String citiesStr = (String)CitiesJO["CITIES"]; //JArray objects = JArray.Parse(citiesStr); // parse as array JArray objects = (JArray)CitiesJO["AvailableFlights"]; Flight[] ret = new Flight[objects.Count]; int idx = 0; foreach (JObject jo in objects) { try { ret[idx].DepartureDateTime = (String)jo["DepartureDateTime"]; ret[idx].ArrivalDateTime = (String)jo["ArrivalDateTime"]; ret[idx].AdultTotalPrices = (String)jo["AdultTotalPrices"]; ret[idx].FlightCalssesStatus = (String)jo["ClassesStatus"]; ret[idx].FlightNo = (String)jo["FlightNo"]; ret[idx].Origin = (String)jo["Origin"]; ret[idx].Destination = (String)jo["Destination"]; char[] delimiterChars = { ' ' }; String[] Classes = ret[idx].FlightCalssesStatus.Split(delimiterChars); String[] AdultPrices = ret[idx].AdultTotalPrices.Split(delimiterChars); idx++; } catch (Exception e) { return(ret); } } return(ret); }
public String MakeReservation(Passenger[] Passengers, Segment[] Segments, String Contact) { String PNR = ""; String url; if (BaseURL == null) { url = BaseReserveUrl; } else { url = BaseURL; } url += BaseURL + "/ReservJS?AirLine=" + AirLine + "&cbSource=" + Segments[0].Origin + "&cbTarget=" + Segments[0].Destination + "&FlightClass=" + Segments[0].FlightClassCode + "&FlightNo=" + Segments[0].FlightNo + "&Day=" + Convert.ToString(Segments[0].FlightDate.getShamsiDayOfMonth()) + "&Month=" + Convert.ToString(Segments[0].FlightDate.getShamsiMonthOfYear()) + "&OfficeUser="******"&OfficePass="******"&edtContact=" + Contact + "&No=" + Convert.ToString(Passengers.Length); if (Segments.Length > 1) { url += "&TwoLeg=YES&FlightClassRet=" + Segments[1].FlightClassCode + "&FlightNoRet=" + Segments[1].FlightNo + "&DayRet=" + Convert.ToString(Segments[1].FlightDate.getShamsiDayOfMonth()) + "&MonthRet=" + Convert.ToString(Segments[1].FlightDate.getShamsiMonthOfYear()); } int n = Passengers.Length; KDateTime Now = new KDateTime(); for (int i = 0; i < n; i++) { int days = Now.daysBetween(Passengers[i].BirthDate); int age = days / 365; url += "&edtName" + Convert.ToString(i + 1) + "=" + Passengers[i].FirstName + "&edtLast" + Convert.ToString(i + 1) + "=" + Passengers[i].LastName + "&edtAge" + Convert.ToString(i + 1) + "=" + Convert.ToString(age) + "&EdtID" + Convert.ToString(i + 1) + "=" + Passengers[i].DocNo; } String jsonResponse = sendHttpRequest(url); JObject ResJO = JObject.Parse(jsonResponse); JArray objects = (JArray)ResJO["AirReserve"]; PNR = (String)objects[0]["PNR"]; return(PNR); }
public T GetValue(KDateTime label) { return(Constant); }