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(); } } }