using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CoreSavingLibrary
{
public enum ArgumentType
{
///
/// String ข้อความ
///
String = 1,
///
/// Number จำนวนเต็ม ทศนิยม และตัวเลขทั้งหมด
///
Number = 2,
///
/// DateTime วันเวลา
///
DateTime = 3,
///
/// String array
///
StringArray = 4
}
public class ReportArgument
{
public int seqNo;
public String argumentValue;
public ArgumentType argumentType;
public ReportArgument(int seqNo, String argumentValue, ArgumentType argumentType)
{
this.seqNo = seqNo;
this.argumentValue = argumentValue;
this.argumentType = argumentType;
}
}
public class ReportHelper
{
List args;
public ReportHelper()
{
args = new List(10);
}
public void AddArgument(String argumentValue, ArgumentType argumentType)
{
int seqNo = args.Count + 1;
ReportArgument arg = new ReportArgument(seqNo, argumentValue, argumentType);
args.Add(arg);
}
public String PopArgumentsXML()
{
String ls_xml = "
";
//สร้าง XML มาตรฐานสำหรับ Report Criteria.
foreach (ReportArgument arg in args)
{
ls_xml += "";
ls_xml += "" + Convert.ToString(arg.seqNo) + "";
ls_xml += "" + arg.argumentValue + "";
ls_xml += "" + Convert.ToString((int)arg.argumentType) + "";
ls_xml += "";
}
ls_xml += "";
//clear arguments.
args.Clear();
return ls_xml;
}
public String GetReportPDF(String application, String groupID, String reportID)
{
//ก่อนเรียกฟังชั่นนี้ต้องเรียก AddArgument มาให้ครบก่อน.
//แปลง Argument ทั้งหมดให้อยู่ในรูป XML มาตรฐาน.
String ls_criteria = PopArgumentsXML();
//ชื่อไฟล์ PDF = YYYYMMDDHHMMSS__.PDF
//ส่งให้ ReportService สร้าง PDF ให้ {โดยปกติจะอยู่ใน C:\GCOOP\Saving\PDF\}.
//เคลียร์(ลบ)PDF ก่อนหน้านี้.
//คืนค่า URL ของ PDF นี้กลับไปให้เด้ง Popup แสดง PDF เอาเอง.
String ls_url = "";
return ls_url;
}
public void AddArgument(string[] as_account, ArgumentType argumentType)
{
throw new NotImplementedException();
}
}
}