public ReportParameters(string name, string filename) { Name = name; FileName = filename; Parameters = new List <Advent.Geneva.WFM.GenevaDataAccess.ReportParameter>(); ParameterList = new ReportParameterList(); getDefaultParameters(); }
public void AddParameterList(ReportParameterList paramList) { foreach (var param in paramList.GetParameterList()) { if (param.Key.ToString().Contains("Date")) { DateTime dt = DateTime.ParseExact(param.Value.ToString(), "yyyy-MM-dd:HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); this.AddParameters(param.Key.ToString(), dt.ToString("yyyy-MM-dd HH:mm:ss")); } else { this.AddParameters(param.Key.ToString(), (string)param.Value); } } }
/// <summary> /// <see cref="IActivity.Run(ActivityRun,IGenevaActions)">IActivity.Run(ActivityRun,IGenevaActions)</see> /// </summary> /// <param name="activityRun">ActivityRun instance</param> /// <param name="genevaInstance">GenevaAction instance</param> public override void Run(ActivityRun activityRun, IGenevaActions genevaInstance) { //This is where the actual activity run happens. ////The name of parameters in the GS Activity String portParamName = "Portfolio"; String startDateName = "Period Start Date"; String endDateName = "Period End Date"; String rslParamName = "RSL"; //FTP Parameters ftpHandler = new FTPHandler(); String ftpServerNameParamName = "FTP Host Name"; String ftpUserNameParamName = "FTP Username"; String ftpPasswordParamName = "FTP Password"; String localFileNameFTPFormatParamName; String hostKeyNameParamName; String sshKeyParamName; String remoteInputDirParamName; //This is the file name that the FTP server requires in order for it to process the file String remoteFileNameParamName; String WinSCPPathParamName; try { activityRun.StartDateTime = DateTime.Now; //Read data from Activity Paramters String portfolio = activityRun.GetParameterValue(portParamName); String perStartDate = activityRun.GetParameterValue(startDateName); String perEndDate = activityRun.GetParameterValue(endDateName); rslName = activityRun.GetParameterValue(rslParamName); //Set FTPHandler //ftpHandler. var cultInfo = new System.Globalization.CultureInfo(System.Globalization.CultureInfo.InvariantCulture.Name); var dateTimeStyle = System.Globalization.DateTimeStyles.None; DateTime dtStartDate = DateTime.ParseExact(perStartDate, "M/d/yyyy", cultInfo, dateTimeStyle); DateTime dtEndDate = DateTime.ParseExact(perEndDate, "M/d/yyyy", cultInfo, dateTimeStyle); ReportParameterList parameters = new ReportParameterList(); parameters.Add(new ReportParameter("Portfolio", portfolio)); parameters.Add(new ReportParameter("PeriodStartDate", dtStartDate)); parameters.Add(new ReportParameter("PeriodEndDate", dtEndDate)); runRSL(activityRun, genevaInstance, parameters); extractFile = new DelimitedFile(csvOutputFileName, ","); activityRun.UpdateSuccessfulActivityRun(); } catch (Exception e) { activityRun.UpdateFailedActivityRun(e); } finally { //Set Activity End Time and Save It activityRun.EndDateTime = DateTime.Now; activityRun.Save(); } }
/// <summary> /// Run the RSL and output its contents to a CSV file; set the CSV /// </summary> private void runRSL(ActivityRun activityRun, IGenevaActions genevaInstance, ReportParameterList parameters) { System.Xml.XmlDocument xmlOutput; genevaInstance.ExecuteReport(rslName, parameters, out xmlOutput); xmlTempOutputFile = @"C:\WFMCustomAccelerator\PB Accelerator Files\TempGSXML.xml"; xmlOutput.Save(xmlTempOutputFile); //RSL Output in CSV Format String rslCSVOutput = DataTableToCSV.XMLToCSV(xmlOutput); csvOutputFileName = @"C:\WFMCustomAccelerator\PB Accelerator Files\TempGSXMLCSV.csv"; File.WriteAllText(csvOutputFileName, rslCSVOutput); }
public override void Run(ActivityRun activityRun, IGenevaActions genevaInstance) { status = "Executed by " + genevaInstance.GetCurrentUserName() + Environment.NewLine + "Files saved to " + GetSettingValue("OutputFolder") + Environment.NewLine; try { //Set Activity Start Time activityRun.StartDateTime = DateTime.Now; reportCountCSV = 0; reportCountPDF = 0; activityRun.CurrentStep = "Run"; activityRun.StartDateTime = DateTime.Now; outputFolder = GetSettingValue("OutputFolder"); //######### Set User Parameters ############# UpdateProgress("Setting Parameters....", activityRun); //Read Activty Parameter portfolio = activityRun.GetParameterValue("Portfolio"); strStartDate = activityRun.GetParameterValue("StartDate"); strEndDate = activityRun.GetParameterValue("EndDate"); strKnowledgeDate = activityRun.GetParameterValue("KnowledgeDate"); strPriorKnowledgeDate = activityRun.GetParameterValue("PriorKnowledgeDate"); dtStartDate = DateTime.ParseExact(strStartDate, "yyyy-MM-dd:HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); dtEndDate = DateTime.ParseExact(strEndDate, "yyyy-MM-dd:HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); dtKnowledgeDate = DateTime.ParseExact(strKnowledgeDate, "yyyy-MM-dd:HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); dtPriorKnowledgeDate = DateTime.ParseExact(strPriorKnowledgeDate, "yyyy-MM-dd:HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture); //Creating Generic (base) ReportParameter List; add required parameter to this object ReportParameterList base_parameters = new ReportParameterList(); base_parameters.Add(new Advent.Geneva.WFM.GenevaDataAccess.ReportParameter("ConnectionString", Properties.Settings.Default.GenevaConnection)); base_parameters.Add(new Advent.Geneva.WFM.GenevaDataAccess.ReportParameter("Portfolio", portfolio)); base_parameters.Add(new Advent.Geneva.WFM.GenevaDataAccess.ReportParameter("PeriodStartDate", dtStartDate)); base_parameters.Add(new Advent.Geneva.WFM.GenevaDataAccess.ReportParameter("PeriodEndDate", dtEndDate)); base_parameters.Add(new Advent.Geneva.WFM.GenevaDataAccess.ReportParameter("KnowledgeDate", dtKnowledgeDate)); base_parameters.Add(new Advent.Geneva.WFM.GenevaDataAccess.ReportParameter("PriorKnowledgeDate", dtPriorKnowledgeDate)); base_parameters.Add(new Advent.Geneva.WFM.GenevaDataAccess.ReportParameter("AccountingRunType", "ClosedPeriod")); base_parameters.Add(new Advent.Geneva.WFM.GenevaDataAccess.ReportParameter("AccountingCalendar", portfolio)); base_parameters.Add(new Advent.Geneva.WFM.GenevaDataAccess.ReportParameter("RegionalSettings", "en-IE")); base_parameters.Add(new Advent.Geneva.WFM.GenevaDataAccess.ReportParameter("DisableHyperlinks", "True")); base_parameters.Add(new Advent.Geneva.WFM.GenevaDataAccess.ReportParameter("QuantityPrecision", "4")); base_parameters.Add(new Advent.Geneva.WFM.GenevaDataAccess.ReportParameter("AddendumPages", "None")); //######### Get Report List CSV ############# UpdateProgress("Getting Report list for CSV...", activityRun); //List<ReportParameters> reportListCSV = getReportNames("CSV", base_parameters); reportListCSV = getReportNames("CSV", base_parameters); foreach (ReportParameters report in reportListCSV) { //CSVReport(activityRun, genevaInstance, report); CSVReportSSRS(activityRun, genevaInstance, report); reportCountCSV++; } activityRun.Save(); //######### Get Report List SSRSPDF ############# UpdateProgress("Getting Report List for PDF...", activityRun); List <ReportParameters> reportListPDF = getReportNames("PDF", base_parameters); foreach (ReportParameters report in reportListPDF) { PDFReport(activityRun, genevaInstance, report); reportCountPDF++; } UpdateProgress("Completed!" + Environment.NewLine, activityRun); activityRun.UpdateSuccessfulActivityRun(); activityRun.Save(); #if LoggingOn TextWriter RunWriter = new StreamWriter(outputFolder + "\\" + "Run.log"); RunWriter.Write(status); RunWriter.Close(); #endif } catch (Exception exp) { //Set Failure Flag Exception e = new Exception(status + Environment.NewLine + "-----------Exception Message--------------" + Environment.NewLine + exp.Message); activityRun.SaveActivityStep(false, reportName); activityRun.UpdateFailedActivityRun(e); activityRun.Save(); } finally { //Set Activity End Time and Save Activity activityRun.EndDateTime = DateTime.Now; activityRun.Save(); } }
private List <ReportParameters> getReportNames(string ReportType, ReportParameterList base_ParameterList) { List <ReportParameters> reports = new List <ReportParameters>(); int i = 0; reports.Add(new ReportParameters("Custom Unsettled Income Report #0008", "0008CustomUnsettledIncomeReport.rsl")); reports[i].AddParameterList(base_ParameterList); i++; reports.Add(new ReportParameters("Custom Portfolio Valuation Report #0014", "0014CustomPortfolioValuationReport.rsl")); reports[i].AddParameterList(base_ParameterList); //reports[i].AddParameters("Group4", "Currency"); //reports[i].AddParameters("IncludeNotionalValuesForBasketSwaps", "1"); i++; reports.Add(new ReportParameters("Custom Unsettled Transactions Report #0012", "0012CustomUnsettledTransactionsReport.rsl")); reports[i].AddParameterList(base_ParameterList); i++; //reports.Add(new ReportParameters("Custom Profit and Loss Report #0015", // "0015CustomProfitandLossReport.rsl")); //reports[i].AddParameterList(base_ParameterList); //reports[i].AddParameters("AccountingCalendar", portfolio); ////reports[i].AddParameters("requestType", "ssrs"); //i++; //reports.Add(new ReportParameters("Custom Realised Gain Loss Ledger #0005", // "0005CustomRealisedGainLossLedger.rsl")); //reports[i].AddParameterList(base_ParameterList); ////reports[i].AddParameters("Group1", "InvestmentType"); ////reports[i].AddParameters("NettingRuleView", "1"); ////reports[i].AddParameters("requestType", "ssrs"); ////reports[i].AddParameters("WashSalesTaxableEndDate", "June 3, 2016 11:59:59 pm"); ////reports[i].AddParameters("WashSalesCutoverDate", "January 1, 1901 12:00:00 am"); //i++; //reports.Add(new ReportParameters("Custom Appreciation and Depreciation on Foreign Currency Contracts #0018", // "0018CustomAppreciationandDepreciationonFCC.rsl")); //reports[i].AddParameterList(base_ParameterList); ////reports[i].AddParameters("Group4", "TransactionType"); ////reports[i].AddParameters("GroupbyStrategy", "0"); //i++; //reports.Add(new ReportParameters("Custom Performance Attribution Report #0056", // "0056CustomPerformanceAttributionReport.rsl")); //reports[i].AddParameterList(base_ParameterList); ////reports[i].AddParameters("requestType", "ssrs"); //i++; reports.Add(new ReportParameters("Trial Balance", "glmap_fundtrialbal.rsl")); reports[i].AddParameterList(base_ParameterList); reports[i].AddParameters("FundLegalEntity", portfolio); //reports[i].AddParameters("FiscalCalendar", "JanYearStart"); //reports[i].AddParameters("DisableInvestmentFilters", "1"); //reports[i].AddParameters("requestType", "ssrs"); //reports[i].AddParameters("YearStartRetainedEarnings", "1"); i++; //reports.Add(new ReportParameters("Cash Appraisal", // "glmap_cashapp.rsl")); //reports[i].AddParameterList(base_ParameterList); ////reports[i].AddParameters("DisableLocAcctFilters", "1"); ////reports[i].AddParameters("DisableStrategyFilters", "1"); //i++; //reports.Add(new ReportParameters("Fund Structure NAV", // "nav.rsl")); //reports[i].AddParameterList(base_ParameterList); //reports[i].AddParameters("AccountingRunType", "NAV"); //reports[i].AddParameters("KnowledgeDate", ReportRunDate.ToString("yyyy-MM-dd HH:mm:ss")); ////reports[i].AddParameters("DisableInvestmentFilters", "1"); ////reports[i].AddParameters("DisableLocAcctFilters", "1"); ////reports[i].AddParameters("DisableStrategyFilters", "1"); //i++; //reports.Add(new ReportParameters("Fund Capital Ledger", // "fundcapldgr.rsl")); //reports[i].AddParameterList(base_ParameterList); //reports[i].AddParameters("AccountingRunType", "NAV"); //reports[i].AddParameters("KnowledgeDate", ReportRunDate.ToString("yyyy-MM-dd HH:mm:ss")); ////reports[i].AddParameters("DisableInvestmentFilters", "1"); ////reports[i].AddParameters("DisableLocAcctFilters", "1"); ////reports[i].AddParameters("DisableStrategyFilters", "1"); ////reports[i].AddParameters("requestType", "ssrs"); //i++; //reports.Add(new ReportParameters("Fund Allocation Percentages", // "fundalloc.rsl")); //reports[i].AddParameterList(base_ParameterList); //reports[i].AddParameters("AccountingRunType", "NAV"); //reports[i].AddParameters("KnowledgeDate", ReportRunDate.ToString("yyyy-MM-dd HH:mm:ss")); ////reports[i].AddParameters("DisableInvestmentFilters", "1"); ////reports[i].AddParameters("DisableLocAcctFilters", "1"); ////reports[i].AddParameters("DisableStrategyFilters", "1"); ////reports[i].AddParameters("requestType", "ssrs"); //i++; //reports.Add(new ReportParameters("Fund Allocated Income Detail", // "fundincdet.rsl")); //reports[i].AddParameterList(base_ParameterList); //reports[i].AddParameters("AccountingRunType", "NAV"); //reports[i].AddParameters("KnowledgeDate", ReportRunDate.ToString("yyyy-MM-dd HH:mm:ss")); //i++; reports.Add(new ReportParameters("Statement of Net Assets", "glmap_netassets.rsl")); reports[i].AddParameterList(base_ParameterList); //reports[i].AddParameters("DisableInvestmentFilters", "1"); //reports[i].AddParameters("requestType", "ssrs"); i++; //reports.Add(new ReportParameters("Statement of Changes in Net Assets", // "glmap_chginassets.rsl")); //reports[i].AddParameterList(base_ParameterList); ////reports[i].AddParameters("DisableInvestmentFilters", "1"); ////reports[i].AddParameters("ShowYearToDate", "0"); ////reports[i].AddParameters("ReportType", "Summary"); ////reports[i].AddParameters("requestType", "ssrs"); //i++; reports.Add(new ReportParameters("Local Position Appraisal", "locposapp.rsl")); reports[i].AddParameterList(base_ParameterList); reports[i].AddParameters("Consolidate", "None"); //reports[i].AddParameters("requestType", "ssrs"); i++; if (ReportType == "PDF") { //reports.Add(new ReportParameters("Custom Other Assets And Liabilities #0050", // "0050CustomOtherAssetsAndLiabilities.rsl")); //reports[i].AddParameterList(base_ParameterList); ////reports[i].AddParameters("requestType", "ssrs"); //i++; reportTotalPDF = i; } else if (ReportType == "CSV") { reportTotalCSV = i; } return(reports); }