示例#1
0
 protected void CheckDate(KDateTime asof, KDateTime date)
 {
     if (date < asof)
     {
         throw new Exception("target date is anterior to asof date.");
     }
 }
示例#2
0
 public void Load()
 {
     if (Model.Value != null)
     {
         this.Content.Text  = Model.Value.Text;
         this.SendTime.Text = KDateTime.ConverToTimeDisplay(Model.Value.SendTime);
     }
 }
示例#3
0
        public T GetValue(KDateTime label)
        {
            if (Keys.Contains(label))
            {
                return(Values[Keys.IndexOf(label)]);
            }

            return(Interpolator <KDateTime, T>
                   .Interpolate(Keys, Values, label, InterpolType));
        }
示例#4
0
        /// <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)));
        }
示例#5
0
        /// <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);
        }
示例#8
0
 public T GetValue(KDateTime label)
 {
     return(Constant);
 }