private void RequestSchedulerTimeout(object notUsed) { // time to post a portfolio valuation request TimeSpan retention = TimeSpan.FromDays(2); // publish portfolio specification List <PortfolioSubquery> portfolioSubqueries = new List <PortfolioSubquery>(); portfolioSubqueries.Add(new PortfolioSubquery() { CounterpartyId = "13142" }); // Barclays portfolioSubqueries.Add(new PortfolioSubquery() { CounterpartyId = "14859" }); // Woolworths string portfolioId = Guid.NewGuid().ToString(); var portfolio = new PortfolioSpecification { PortfolioId = portfolioId, OwnerId = new UserIdentity() { Name = this.Client.ClientInfo.Name, DisplayName = "Portfolio Valuation Server" }, Description = "Woolworths (14859) Scheduled", PortfolioSubqueries = portfolioSubqueries.ToArray() }; this.Client.SaveObject <PortfolioSpecification>(portfolio, retention); // publish the portfolio valuation requests foreach (string marketName in new string[] { CurveConst.NAB_EOD }) { Guid requestId = Guid.NewGuid(); PortfolioValuationRequest request = new PortfolioValuationRequest() { BaseDate = DateTime.Today, RequestId = requestId.ToString(), Retention = retention.ToString(), SubmitTime = DateTimeOffset.Now.ToString("o"), RequesterId = new UserIdentity() { Name = this.Client.ClientInfo.Name, DisplayName = "Portfolio Valuation Server" }, PortfolioId = portfolioId, MarketDate = null, MarketName = marketName, ReportingCurrency = "AUD", IsDetailedReport = false, IRScenarioNames = ScenarioConst.AllIrScenarioIds, FXScenarioNames = ScenarioConst.AllFxScenarioIds }; this.Client.SaveObject <PortfolioValuationRequest>(request, false, retention); } }
private RequestBase CreatePVRequest(string marketName, string counterPartyId, string counterPartyName, bool allIRStresses, bool allFXStresses) { // time to post a portfolio valuation request TimeSpan retention = TimeSpan.FromDays(1); // publish portfolio specifications List <PortfolioSubquery> portfolioSubqueries = new List <PortfolioSubquery>(); portfolioSubqueries.Add(new PortfolioSubquery() { CounterpartyId = counterPartyId }); string portfolioId = Guid.NewGuid().ToString(); var portfolio = new PortfolioSpecification { PortfolioId = portfolioId, OwnerId = new UserIdentity() { Name = _ClientRef.Target.ClientInfo.Name, DisplayName = "Grid Test Harness" }, Description = String.Format("{1} ({0}) Test Request", counterPartyId, counterPartyName), PortfolioSubqueries = portfolioSubqueries.ToArray() }; _ClientRef.Target.SaveObject <PortfolioSpecification>(portfolio, retention); // publish the portfolio valuation requests Guid requestId = Guid.NewGuid(); PortfolioValuationRequest request = new PortfolioValuationRequest() { BaseDate = DateTime.Today, RequestId = requestId.ToString(), Retention = retention.ToString(), SubmitTime = DateTimeOffset.Now.ToString("o"), RequestDescription = String.Format("{0} [{1}]", portfolio.Description, marketName), RequesterId = new UserIdentity() { Name = _ClientRef.Target.ClientInfo.Name, DisplayName = "Grid Test Harness" }, PortfolioId = portfolioId, MarketDate = null, MarketName = marketName, ReportingCurrency = "AUD", IRScenarioNames = allIRStresses ? ScenarioConst.AllIrScenarioIds : null, FXScenarioNames = allFXStresses ? ScenarioConst.AllFxScenarioIds : null }; _ClientRef.Target.SaveObject <PortfolioValuationRequest>(request); return(request); }
/// <summary> /// Create a portfolio with the matching trades /// </summary> /// <param name="tradeItemNames"></param> private static string InitializePortfolio(string[] tradeItemNames) { // publish portfolio specification string portfolioId = Guid.NewGuid().ToString(); var portfolio = new PortfolioSpecification { PortfolioId = portfolioId, OwnerId = new UserIdentity { Name = Engine.Cache.ClientInfo.Name, DisplayName = "Unit Test Agent" }, Description = "Unit Test", IncludedTradeItemNames = tradeItemNames }; Engine.Cache.SaveObject(portfolio, Retention); return(portfolioId); }