/// <summary>
 /// 檢查資料
 /// </summary>
 /// <param name="set"></param>
 public static void CheckData(DepositBillSet set, SysMessageLog message, ApplicationDbContext dataAccess)
 {
     if (BizVirtualAccountCode.CheckBankCodeExist(dataAccess, set.DepositBill.VirtualAccountCode, out _))
     {
         message.AddCustErrorMessage(MessageCode.Code1008, ResxManage.GetDescription <DepositBillModel>(p => p.VirtualAccountCode), set.DepositBill.VirtualAccountCode);
     }
 }
示例#2
0
        /// <summary>
        /// 獲取銀行銷帳編號
        /// </summary>
        /// <param name="bill"></param>
        /// <returns></returns>
        private static void SetBankCode(AutoDebitBillModel bill)
        {
            string vir1 = string.Empty, vir2 = string.Empty, vir3 = string.Empty;
            //if (null == bill.BizCustomer)
            //{
            //    bill.VirtualAccountCode = string.Empty;
            //    return;
            //}
            //switch (bill.BizCustomer.VirtualAccount1)
            //{
            //    case VirtualAccount1.BillTerm:
            //        vir1 = bill.BillTerm.BillTermNo.PadLeft(bill.BizCustomer.BillTermLen, '0');
            //        break;
            //}
            //switch (bill.BizCustomer.VirtualAccount2)
            //{
            //    case VirtualAccount2.PayerNo:
            //        vir2 = bill.Payer.PayerNo.PadLeft(bill.BizCustomer.PayerNoLen, '0');
            //        break;
            //    case VirtualAccount2.Seq:
            //        break;
            //}
            //switch (bill.BizCustomer.VirtualAccount3)
            //{
            //    case VirtualAccount3.SeqPayEndDate:
            //    case VirtualAccount3.SeqAmountPayEndDate:
            //        //西元年末碼(1碼)+天數(3碼)
            //        vir3 = bill.PayEndDate.Year.ToString().Substring(3, 1) + bill.PayEndDate.DayOfYear.ToString().PadLeft(3, '0');
            //        break;
            //}
            string result = $"{bill.CustomerCode}{vir3}{vir1}{vir2}";

            bill.VirtualAccountCode = $"{result}{BizVirtualAccountCode.GetVirtualCheckCode(bill.BizCustomer.VirtualAccount3, result, bill.PayAmount)}".PadLeft(16, '0');
        }
示例#3
0
 /// <summary>
 /// 設置資料
 /// </summary>
 /// <param name="set"></param>
 /// <param name="action"></param>
 public static void SetData(BillSet set, string progId, ApplicationDbContext dataAccess)
 {
     //SetBillDetail(set.Bill, set.BillDetail);
     SetBillReceiptDetail(set.Bill, set.BillReceiptDetail);
     SetBankCode(set.Bill);
     BizVirtualAccountCode.AddVirtualAccountCode(dataAccess, progId, set.Bill.BillNo, set.Bill.VirtualAccountCode);
     ResetPayEndDateAndCollectionType(set.Bill);
 }
示例#4
0
 /// <summary>
 /// 檢查資料
 /// </summary>
 /// <param name="set"></param>
 public static void CheckData(BillSet set, SysMessageLog message, ApplicationDbContext dataAccess)
 {
     if (BizVirtualAccountCode.CheckBankCodeExist(dataAccess, set.Bill.VirtualAccountCode, out _))
     {
         message.AddCustErrorMessage(MessageCode.Code1008, ResxManage.GetDescription <BillModel>(p => p.VirtualAccountCode), set.Bill.VirtualAccountCode);
     }
     CalcTotalPayAmount(set);
     CheckPayEndDate(message, set.Bill);
     CheckCollectionTypeId(message, dataAccess, set.Bill);
 }
 /// <summary>
 /// 設置對應的帳單編號
 /// </summary>
 /// <param name="set"></param>
 /// <returns></returns>
 private static void SetBillNo(ApplicationDbContext DataAccess, ReceiptBillModel receiptBill)
 {
     if (BizVirtualAccountCode.CheckBankCodeExist(DataAccess, receiptBill.VirtualAccountCode, out VirtualAccountCodeModel virtualAccount))
     {
         receiptBill.BillProgId = virtualAccount.SrcProgId;
         receiptBill.ToBillNo   = virtualAccount.SrcBillNo;
     }
     else
     {
         receiptBill.BillProgId = string.Empty;
         receiptBill.ToBillNo   = string.Empty;
     }
 }
示例#6
0
 /// <summary>
 /// 設置資料
 /// </summary>
 /// <param name="set"></param>
 /// <param name="action"></param>
 public static void SetData(AutoDebitBillSet set, string progId, ApplicationDbContext dataAccess)
 {
     BizVirtualAccountCode.AddVirtualAccountCode(dataAccess, progId, set.AutoDebitBill.BillNo, set.AutoDebitBill.VirtualAccountCode);
     SetBankCode(set.AutoDebitBill);
 }
 /// <summary>
 /// 設置資料
 /// </summary>
 /// <param name="set"></param>
 /// <param name="action"></param>
 public static void SetData(DepositBillSet set, string progId, ApplicationDbContext dataAccess)
 {
     BizVirtualAccountCode.AddVirtualAccountCode(dataAccess, progId, set.DepositBill.BillNo, set.DepositBill.VirtualAccountCode);
 }