فهرست منبع

1.預設不捐贈發票; 2.新開DonateMark屬性可設定是否捐贈

Snoopy 3 سال پیش
والد
کامیت
742c3c26b5
2فایلهای تغییر یافته به همراه32 افزوده شده و 31 حذف شده
  1. 17 16
      TCCInvoice/InvoiceGenerator.cs
  2. 15 15
      TCCInvoice/Program.cs

+ 17 - 16
TCCInvoice/InvoiceGenerator.cs

@@ -34,8 +34,8 @@ namespace TCCInvoice
         private string carrierId1;
         private string carrierId2;
         private string mainRemark;
-        private int donateMark = DEFAULT_DONATE_MARK;
-        private string nPOBAN = DEFAULT_LOVECODE;
+        private int donateMark;
+        private string nPOBAN;
         private string contactEmail;
         private string contactAddress;
         private string contactPhone;
@@ -67,7 +67,6 @@ namespace TCCInvoice
         /// </summary>
         private const string BUSINESS_NAME_API = "http://gcis.nat.g0v.tw/api/show/";
         private const string CARRIER_TYPE_BARCODE = "3J0002";
-        private const int DEFAULT_DONATE_MARK = 1;
         private const string DEFAULT_LOVECODE = "4997276";
 
         private const string PREINVOICE_PATH = @"C:\UXB2B_EIVO\PreInvoice\";
@@ -118,10 +117,6 @@ namespace TCCInvoice
                 else // 有統編
                 {
                     GetBuyerNameFromBuyerIdAsync().Wait();
-
-                    // 有填統編,不捐贈
-                    donateMark = 0;
-                    nPOBAN = null;
                 }
             }
         }
@@ -161,13 +156,6 @@ namespace TCCInvoice
                 carrierId1 = value;
                 carrierId2 = carrierId1;
                 carrierType = String.IsNullOrEmpty(carrierId1) ? null : CARRIER_TYPE_BARCODE;
-
-                // 如果有填手機條碼,就改為不捐贈
-                if (!String.IsNullOrEmpty(carrierId1))
-                {
-                    donateMark = 0;
-                    nPOBAN = null;
-                }
             }
         }
         /// <summary>
@@ -178,6 +166,19 @@ namespace TCCInvoice
             set => mainRemark = value; 
         }
         /// <summary>
+        /// (選填)0代表不捐贈;1代表捐贈。預設值為0
+        /// </summary>
+        public int DonateMark
+        {
+            set
+            {
+                donateMark = value;
+
+                donateMark = donateMark != 0 ? 1 : 0;
+                nPOBAN = donateMark == 1 ? DEFAULT_LOVECODE : null;
+            }
+        }
+        /// <summary>
         /// (選填)消費者的email address
         /// </summary>
         public string ContactEmail 
@@ -438,8 +439,8 @@ namespace TCCInvoice
             carrierId1 = null; 
             carrierId2 = null; 
             mainRemark = null;
-            donateMark = 1;
-            nPOBAN = DEFAULT_LOVECODE;
+            donateMark = 0;
+            nPOBAN = null;
             contactEmail = null;
             contactAddress = null;
             contactPhone = null;

+ 15 - 15
TCCInvoice/Program.cs

@@ -11,25 +11,25 @@ namespace TCCInvoice
         static void Main(string[] args)
         {
             // 建立InvoiceGenerator類別的物件
-            InvoiceGenerator myInvoice = new InvoiceGenerator(2);
+            InvoiceGenerator myInvoice = new InvoiceGenerator(1);
 
             // 註冊發票號碼已處理完畢的事件通知
             myInvoice.InvoiceCompleted += MyInvoice_InvoiceCompleted;
-
             
-                // 填具待開立發票的相關資料(Preinvoice)
-                myInvoice.DataNumber = "20220215030";
-                myInvoice.DataDate = DateTime.Today;
-                myInvoice.BuyerId = null; // 一般消費者
-                myInvoice.TotalAmount = 524;
-                myInvoice.CarrierId1 = "/CPDF.O2";
-                myInvoice.MainRemark = "交易訂單號:1234567888";
-                myInvoice.ContactEmail = "snoopy.h.huang@outlook.com";
-                myInvoice.ContactPhone = "0929168960";
-                myInvoice.AddInvoiceItem(0, "充電服務費", 41.5793, "度", 12, 499, "充電服務費每度12元");
-                myInvoice.AddInvoiceItem(1, "占用費", 30, "分鐘", 50, 25, "占用費每小時50元");
-                // 開立發票
-                myInvoice.GetInvoiceResponse();
+            // 填具待開立發票的相關資料(Preinvoice)
+            myInvoice.DataNumber = "202202201145";
+            myInvoice.DataDate = DateTime.Today;
+            myInvoice.BuyerId = null; // 一般消費者
+            myInvoice.TotalAmount = 524;
+            myInvoice.CarrierId1 = null;
+            myInvoice.MainRemark = "交易訂單號:1234567888";
+            myInvoice.DonateMark = 0;
+            myInvoice.ContactEmail = null;
+            myInvoice.ContactPhone = null;
+            myInvoice.AddInvoiceItem(0, "充電服務費", 41.5793, "度", 12, 499, "充電服務費每度12元");
+            myInvoice.AddInvoiceItem(1, "占用費", 30, "分鐘", 50, 25, "占用費每小時50元");
+            // 開立發票
+            myInvoice.GetInvoiceResponse();
 
 
             Console.WriteLine("Press enter to exit");