Program.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace TCCInvoice
  7. {
  8. internal class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. // 建立InvoiceGenerator類別的物件
  13. InvoiceGenerator myInvoice = new InvoiceGenerator();
  14. // 註冊發票號碼已開立的事件通知
  15. myInvoice.InvoiceGenerated += MyInvoice_InvoiceGenerated;
  16. // 註冊發票號碼配號失敗的事件通知
  17. myInvoice.InvoiceAssignNumberFailed += MyInvoice_InvoiceAssignNumberFailed;
  18. // 註冊發票號碼上傳失敗的事件通知
  19. myInvoice.InvoiceUploadFailed += MyInvoice_InvoiceUploadFailed;
  20. // 填具待開立發票的相關資料(Preinvoice)
  21. myInvoice.DataNumber = "202202150008";
  22. myInvoice.DataDate = DateTime.Today;
  23. myInvoice.BuyerId = null; // 一般消費者
  24. myInvoice.TotalAmount = 524;
  25. myInvoice.CarrierId1 = "/CPDF.O2";
  26. myInvoice.MainRemark = "交易訂單號:1234567888";
  27. myInvoice.ContactEmail = "snoopy.h.huang@outlook.com";
  28. myInvoice.ContactPhone = "0929168960";
  29. myInvoice.AddInvoiceItem(0, "充電服務費", 41.5793, "度", 12, 499, "充電服務費每度12元");
  30. myInvoice.AddInvoiceItem(1, "占用費", 30, "分鐘", 50, 25, "占用費每小時50元");
  31. // 開立發票
  32. myInvoice.GetInvoiceResponse();
  33. // 搜尋發票
  34. myInvoice.SearchResponseByDataNumber("202202150004");
  35. Console.WriteLine("Press enter to exit");
  36. Console.ReadLine();
  37. }
  38. private static void MyInvoice_InvoiceGenerated(string dataNumber, string invoiceNumber,
  39. string invoiceDate, string invoiceTime, string randomNumber)
  40. {
  41. Console.WriteLine("發票開立成功-----");
  42. Console.WriteLine("單據編號:" + dataNumber);
  43. Console.WriteLine("發票號碼:" + invoiceNumber);
  44. Console.WriteLine("發票日期:" + invoiceDate);
  45. Console.WriteLine("發票時間:" + invoiceTime);
  46. Console.WriteLine("隨機碼:" + randomNumber);
  47. }
  48. private static void MyInvoice_InvoiceAssignNumberFailed(string dataNumber, string description)
  49. {
  50. Console.WriteLine("發票配號失敗-----");
  51. Console.WriteLine("單據編號:" + dataNumber);
  52. Console.WriteLine("錯誤代碼與描述:" + description);
  53. }
  54. private static void MyInvoice_InvoiceUploadFailed(string dataNumber, string invoiceNumber, string randomNumber,
  55. string description)
  56. {
  57. Console.WriteLine("發票已配號但是上傳失敗-----");
  58. Console.WriteLine("單據編號:" + dataNumber);
  59. Console.WriteLine("發票配號:" + invoiceNumber);
  60. Console.WriteLine("隨機碼:" + randomNumber);
  61. Console.WriteLine("錯誤代碼與描述:" + description);
  62. }
  63. }
  64. }