private static void Startup() { _config = new ConfigurationBuilder() .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) .AddEnvironmentVariables() .Build(); _fileForward = new ForwardEngine(_config["baseUrl"]); _printer = new Printer(); }
static void SendFromFile() { Console.WriteLine("Sending from file..."); var fileForward = new ForwardEngine("https://jsonplaceholder.typicode.com"); var response = fileForward.PostBytes("/photos", "./Assets/raccoon_image.png"); var result = response.Result; //I know there's better ways to handle this. Console.WriteLine($"Result: {result.StatusCode} - {result.ReasonPhrase}"); }
static void SendByteArray() { Console.WriteLine("Sending byte array..."); var fileForward = new ForwardEngine("https://jsonplaceholder.typicode.com"); var fileContent = new byte[200]; var response = fileForward.PostBytes("/photos", fileContent); var result = response.Result; //I know there's better ways to handle this. Console.WriteLine($"Result: {result.StatusCode} - {result.ReasonPhrase}"); }
public void BondForwardTest() { var bond = new Bond( "010000", new Date(2013, 2, 25), new Date(2015, 2, 25), 100, CurrencyCode.CNY, new FixedCoupon(0.0375), CalendarImpl.Get("chn_ib"), Frequency.SemiAnnual, Stub.LongEnd, new ActActIsma(), new Act365(), BusinessDayConvention.None, BusinessDayConvention.None, null, TradingMarket.ChinaInterBank ); var bondForward = new Forward <Bond>( new Date(2013, 5, 28), new Date(2013, 8, 28), 100.0, 98.57947065, bond, CurrencyCode.CNY ); var referenceDate = new Date(2013, 8, 23); var yieldCurve = new YieldCurve( "中债国债收收益率曲线", referenceDate, new[] { Tuple.Create((ITerm) new Term("1D"), 0.035), Tuple.Create((ITerm) new Term("1Y"), 0.035) }, BusinessDayConvention.ModifiedFollowing, new Act365(), CalendarImpl.Get("chn_ib"), CurrencyCode.CNY, Compound.Simple, Interpolation.CubicHermiteMonotic, YieldCurveTrait.SpotCurve ); var market = new MarketCondition ( x => x.ValuationDate.Value = referenceDate, x => x.MktQuote.Value = new Dictionary <string, Tuple <PriceQuoteType, double> > { { "010000", Tuple.Create(PriceQuoteType.Dirty, 99.71798177) } }, x => x.DiscountCurve.Value = yieldCurve, x => x.FixingCurve.Value = yieldCurve, x => x.RiskfreeCurve.Value = yieldCurve, x => x.UnderlyingDiscountCurve.Value = yieldCurve, x => x.HistoricalIndexRates.Value = new Dictionary <IndexType, SortedDictionary <Date, double> >() ); var bondengine = new BondEngine(); var zeroSpread = bondengine.Calculate(bond, market, PricingRequest.ZeroSpread).ZeroSpread; var engine = new ForwardEngine <Bond>(); var result = engine.Calculate(bondForward, market, PricingRequest.Pv); Assert.AreEqual(-0.68888788, result.Pv, 1e-8); }