/// <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); } }
/// <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'); }
/// <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); }
/// <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; } }
/// <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); }