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);
         }
     }
 }
示例#3
0
        /// <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();
            }
        }
示例#4
0
        /// <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);
        }
示例#5
0
        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();
            }
        }
示例#6
0
        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);
        }