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, ""); }
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. }
/// <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(); } }
/// <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(); }
/// <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(); }