예제 #1
0
        public void PDFReport(ActivityRun ar, IGenevaActions genevaInstance, ReportParameters report)
        {
            reportName     = report.Name;
            ar.CurrentStep = "PDFReport";

            UpdateProgress("Running PDF - " + report.Name, ar);

            Exception rdlException = RunSSRSReport(report, ar, reportFormat.PDF);

            if (rdlException != null)
            {
                throw rdlException;
            }

            ar.SaveActivityStep(true, report.Name, report.OutputFilePath, "");
        }
예제 #2
0
        public void CSVReport(ActivityRun ar, IGenevaActions genevaInstance, ReportParameters report)
        {
            reportName     = report.Name;
            ar.CurrentStep = "CSVReport";
            UpdateProgress("Running CSV - " + report.Name, ar);

            TextReader tReader;

            genevaInstance.ExecuteReport(report.FileName, report.ParameterList, ReportOutputFormat.CSV, out tReader);
            var data = tReader.ReadToEnd();

            tReader.Close();

            report.OutputFilePath = GetOutputFileName(report);
            string     FilePath = outputFolder + report.OutputFilePath + ".csv";
            TextWriter tWriter  = new StreamWriter(FilePath);

            tWriter.Write(data);
            tWriter.Close();

            ar.SaveActivityStep(true, report.Name, report.OutputFilePath, "");
        }
 /// <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.
 }
예제 #4
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();
            }
        }
예제 #5
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);
        }
예제 #6
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();
            }
        }
예제 #7
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 will be invoked by the framework, this is where you implementation goes...where you may have to do a transformation and load
     //to Geneva.
     throw new NotImplementedException();
 }
예제 #8
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.
 }
 /// <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 will be invoked by the framework, this is where you implementation goes...where you may have to do a transformation and load
     //to Geneva.
     throw new NotImplementedException();
 }